Classe de gestion sql pour ms access

Description

Voici une classe que j'ai créé au cours de ma session en informatique. Au début elle était vraiment basique. Maintenant je m'en sert pour des sites professionels et je voudrais vous en faire part pour des améliorations ou des commentaires (constructif).

Je résume ma classe.

NOM : clsGestionSQL
DB : Microsoft Access (N'importe qu'elle version à ma connaissance)

Fonctions :
-openConnection(ByVal path As String) : Ouvre la connecxion avec le chemin
-closeConnection() : Ferme la connecxion
-fillDataSet(ByVal pCommand As String) As Data.DataSet : Retourne un dataSet contenant le résultat de la commande
-executeQuery(ByVal pCommand As String) As OleDbDataReader : Exécute une commande (query) et retourne le dataReader
Cette fonction est plus utilisée pour lire qu'une seule ligne et sans y faire référence plusieurs fois. Le dataSet lui peut être utilisé
pour remplir une tableau dynamique avec tous les membres d'un site.
-executeNonQuery(ByVal command As String) As Integer : Exécut une commande (non query : INSERT, UPDATE, DELETE) et retourne le nombre d'enrégistrement
qui a été touché.
-md5Crypt(ByVal pText As String) As String : Pour les mots de passes à crypter en md5
-replaceCarac(ByVal ptext As String) As String : Remplace les caractères suceptibles de faire planter la base de données
-deReplaceCarac(ByVal ptext As String) As String : Le contraire de la fonction précédente.

La pluspart du temps, mon site utilise 2 classes. Une qui est la gestion sur SQL (aucune vérification sur les commande (Injection possible)) et une autre qui fait la gestion de tout mon site web et qui est spécifique à ce site. C'est dans cette classe que je fais les validations nécéssaire avant d'envoyé à la classe gestionSQL.

Source / Exemple :


Imports System.Data.OleDb
Public Class clsGestionSQL

    Public myConnection As OleDbConnection
    Private myDataReader As OleDbDataReader

    ' Ouvrir la connexion
    Public Sub openConnection(ByVal path As String)
        myConnection = New OleDbConnection
        myConnection.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" & path
        ' Ouvre la connexion
        myConnection.Open()
    End Sub

    ' Ferme la connexion
    Public Sub closeConnection()
        myConnection.Close()
    End Sub

    ' Rempli un dataSet pour le retourner
    Public Function fillDataSet(ByVal pCommand As String) As Data.DataSet
        Dim dataAdapter As New OleDbDataAdapter(pCommand, myConnection)
        Dim dataSet As New Data.DataSet
        dataAdapter.Fill(dataSet)
        Return dataSet
    End Function

    ' Rempli le dataReader dépendant de la commande
    Public Function executeQuery(ByVal pCommand As String) As OleDbDataReader
        Dim maCommande As OleDbCommand

        maCommande = New OleDbCommand(pCommand, myConnection)
        ' Exécute la commande et l'affecte dans un dataReader
        myDataReader = maCommande.ExecuteReader()
        Return myDataReader
    End Function

    Public Function executeNonQuery(ByVal command As String) As Integer
        Dim sqlCommand As New OleDbCommand(command, myConnection)
        Dim integerToReturn As Integer

        integerToReturn = sqlCommand.ExecuteNonQuery()

        Return integerToReturn
    End Function

    ' Fonction pour crypter en MD5 le mot de passe
    Public Function md5Crypt(ByVal pText As String) As String
        Return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pText, "md5")
    End Function

    ' Remplace les caractères spéciaux
    Public Function replaceCarac(ByVal ptext As String) As String
        Dim text As String
        text = Replace(ptext, "'", "%1")
        text = Replace(text, "&", "%2")
        text = Replace(text, "\", "%3")
        text = Replace(text, "#", "%4")
        text = Replace(text, "<", "<")
        text = Replace(text, ">", ">")
        Return text
    End Function

    ' "Déremplace" les caractères spéciaux
    Public Function deReplaceCarac(ByVal ptext As String) As String
        Dim text As String
        text = Replace(ptext, "%1", "'")
        text = Replace(text, "%2", "&")
        text = Replace(text, "%3", "\")
        text = Replace(text, "%4", "#")
        Return text
    End Function

End Class

Conclusion :


La classe a été développé avec la plateforme : Microsoft VisualStudio 2005 avec le Framework 2.0

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.