Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSE DE GESTION SQL POUR MS ACCESS


Information sur la source



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

  • 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, "<", "&lt;")
  • text = Replace(text, ">", "&gt;")
  • 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
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, "<", "&lt;")
        text = Replace(text, ">", "&gt;")
        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
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

problème de datareader [ par beny1303 ] Bonjour,J'ai une appli asp.net (c#) qui utilise un datareader pour des requêtes SQL qui est fermé et ouvert à la demande. Pour la connexion je fais la Hebergeur de base des données sql server [ par Fildomen ] Salut !!j'ai un bon hebergeur asp.net mais je veux que ma base de données soit externe chez un autre hebergeur plus fort dans le domaine des bases de GetWebResourceUrl dans un HttpHandler [ par Yxion ] Salut,J'ai une classe interfacé sur IHttpHandler dans un projet de controls web et j'aimerais savoir comment récuperer l'url d'une webresource dans ce Liste des classe, methode, propriétés utilisé en asp.net/c# [ par yanne1985 ] Salut tout le monde je cherche une liste des classe, methodes, propriétées et la liste des controles et leurs methodes, propriétées qu'on peut utilise requete sql tri specifique [ par cmd_raz ] Bonjour, :) j'exécute cette requête sous sql express 2005 SELECT Produit.IdProduit as IdProd, Produit.CodeProduit as CodeProduit, Produit.GenCode as différences entre sql ser et sql base [ par landian ] s'il vous plait bien vouloir me dire la différence qui existe entre sql server et sql baseparce ce que dans mon service nous sommes entrain de migrer image dans une base de donnée ms sql [ par caudette ] bonjour,comme je developpe une application en asp.net c#, j'ai une base de données en ms sql 2000 et dans l'une des tables j'ai un champ de type image [VB] Problème avec des variables de classe [ par ov3rdoze ] Bonjour à tousJ'ai une page dans laquelle je dois utiliser pour la plupart des méthodes des valeurs identiques. J'ai donc  déclaré des variables de cl simuler un run as [ par cedricperes ] BonjourJ'ai realise une appli .net c# qui doit se connecter a une base sql. Pour cette connection, un user a ete cree : "sqlUser" qui a les droits nec deploiement sous vs 2005 avec une bd sql server [ par yassine09 ] bonsoir ,j'ai un petit probléme au niveau de deploiment d'une application asp.net avec un bd sql server 2000ben lorsque je crée un fichier setup a ll'


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.