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 CONNEXION À UNE BASE MYSQL


Information sur la source

Catégorie :Base de Donnees Source .NET ( DotNet ) Classé sous : mysql, chaine, serveur, connexion Niveau : Initié Date de création : 30/03/2007 Vu / téléchargé: 9 172 / 1 344

Note :
2 / 10 - par 2 personnes
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Cette classe va vous permettre de vous connecter à un serveur MySQL.
Elle comprend tout ce qui concerne l'ouverture d'une connexion, le passage de requetes de mise-à-jour et le retour de requetes ramenant uniquement un resultat (Ex : SELECT Nom FROM Client WHERE Num=1234)
La seul contrainte que vous aurez sera de donner la chaine de connexion au serveur ;-)

L'utilisation de cette source nécessite l'installation d'un driver supplémentaire sur Windows.
Celui-ci est contenu dans le .zip

Il faudra sélectionner le driver dans le gestionnaire de ressources de votre environnement de prog.
 

Source

  • Imports MySql.Data
  • Imports MySql.Data.MySqlClient
  • Public Class Connexion
  • Private m_connexion As MySqlConnection
  • Public Shared ConnexionStr As String
  • Sub OuvrirConnexion()
  • Dim VR As New Variables
  • Me.m_connexion = New MySqlConnection("server=NOMDUSERVEUR;database=NOMDELABASEDEDONNEES;userid=IDENTIFIANT;password=MOTDEPASSE;")
  • Me.m_connexion.Open()
  • End Sub
  • Sub FermerConnexion()
  • Try
  • Me.m_connexion.Close()
  • Catch ex As System.Exception
  • MessageBox.Show(ex.Message)
  • End Try
  • End Sub
  • Function RetourneConnexion()
  • Return m_connexion
  • End Function
  • Sub RequeteSUI(ByVal SQL As String)
  • Me.OuvrirConnexion()
  • Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())
  • cmd.ExecuteNonQuery()
  • Me.FermerConnexion()
  • End Sub
  • Function RetourSelectUnResultat(ByVal SQL As String)
  • Dim retour As Object = Nothing
  • Me.OuvrirConnexion()
  • Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())
  • Dim Reader As MySqlDataReader = Nothing
  • Reader = cmd.ExecuteReader()
  • While Reader.Read()
  • retour = Reader.Item(0)
  • End While
  • Reader.Close()
  • Return retour
  • Me.FermerConnexion()
  • End Function
  • Function RetourRequete(ByVal SQL As String)
  • Dim i As Integer = 0
  • Dim j As Integer = 0
  • Dim NbChamps
  • Me.OuvrirConnexion()
  • Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())
  • Dim Reader As MySqlDataReader = Nothing
  • Reader = cmd.ExecuteReader()
  • NbChamps = Reader.FieldCount()
  • Dim retour(500, NbChamps) As Object
  • While Reader.Read()
  • For j = 0 To NbChamps
  • retour(i, j) = Reader.GetValue(j)
  • Next
  • i = i + 1
  • End While
  • Reader.Close()
  • Return retour
  • Me.FermerConnexion()
  • End Function
  • End Class
Imports MySql.Data
Imports MySql.Data.MySqlClient

Public Class Connexion

    Private m_connexion As MySqlConnection

    Public Shared ConnexionStr As String

    Sub OuvrirConnexion()

        Dim VR As New Variables

        Me.m_connexion = New MySqlConnection("server=NOMDUSERVEUR;database=NOMDELABASEDEDONNEES;userid=IDENTIFIANT;password=MOTDEPASSE;")
        Me.m_connexion.Open()


    End Sub

    Sub FermerConnexion()

        Try
            Me.m_connexion.Close()

        Catch ex As System.Exception
            MessageBox.Show(ex.Message)
        End Try

    End Sub

    Function RetourneConnexion()
        Return m_connexion
    End Function

    Sub RequeteSUI(ByVal SQL As String)

        Me.OuvrirConnexion()

        Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())

        cmd.ExecuteNonQuery()

        Me.FermerConnexion()

    End Sub

    Function RetourSelectUnResultat(ByVal SQL As String)

        Dim retour As Object = Nothing

        Me.OuvrirConnexion()

        Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())
        Dim Reader As MySqlDataReader = Nothing

        Reader = cmd.ExecuteReader()

        While Reader.Read()
            retour = Reader.Item(0)
        End While

        Reader.Close()

        Return retour

        Me.FermerConnexion()

    End Function

    Function RetourRequete(ByVal SQL As String)


        Dim i As Integer = 0
        Dim j As Integer = 0
        Dim NbChamps

        Me.OuvrirConnexion()

        Dim cmd As New MySqlCommand(SQL, Me.RetourneConnexion())
        Dim Reader As MySqlDataReader = Nothing

        Reader = cmd.ExecuteReader()
        NbChamps = Reader.FieldCount()

        Dim retour(500, NbChamps) As Object

        While Reader.Read()
            For j = 0 To NbChamps
                retour(i, j) = Reader.GetValue(j)
            Next
            i = i + 1
        End While

        Reader.Close()

        Return retour

        Me.FermerConnexion()
    End Function

End Class

Conclusion

Je pense la mettre à jour d'ici peu de temps afin de gérer tout ce qui concerne le retour de requete avec plusieurs résultats.
 

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 !
  • MySql.Data.msiTélécharger ce fichier [Réservé aux membres club]1 517 056 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Berurier le 02/04/2007 00:53:54

Je ferai plusieurs commentaires.

1) Il n'y a aucune gestion des erreurs qu'elles soient de connexion ou d'éxécution de requête
2) Les paramètres de connexion devraient être passés à la fonction de connexion => cas de plusieurs utilisateurs ou de serveurs.
3) Tu fermes la connexion après chaque requete. Là se pose un problème => Si tu as plusieurs requêtes dans laps de temps très court , ton programme va être obligé de se reconnecter à chaque fois.Ce problème ne fera pas trop sentir si le serveur Mysql est en local, par contre via un accès réseau local et pire via internet ou VPN, les temps de réponse de ton programme vont s'écrouler à la vitesse Grand V.
4) Tu as limité arbitrairement le nombre de ligne retournée à 500. Il vaudrait mieux connaître en retour le nombre d'enregistrements retournés

Bref , il y a encore un peu de boulot...

Bonne continuation...

signaler à un administrateur
Commentaire de Airman31 le 11/04/2007 12:03:11

Merci pour ces indication, mais comme je l'ai dit, ce code est juste un début et l'éxuction de requêtes ramenant plusieurs resultats est encore en cours de création.

En tout cas, merci pour l'indication concernant la fermeture de la connexion a chaque requêtes, je n'avais pas du tout pensé à ce probleme.

ça fait juste 2 mois que je me suis mis à vb.net et la programmation objet dc c'est sûr que c'est pas parfait.

signaler à un administrateur
Commentaire de assga le 05/09/2007 14:54:46

un script assé clair,
merci pr ton aide...

signaler à un administrateur
Commentaire de xarsoft le 07/01/2009 15:35:36

ouai mais il ne marche pas avec sql.free.fr

signaler à un administrateur
Commentaire de Airman31 le 07/01/2009 15:38:51

Malheureseument, il faut ouvrir un port sur le server MySQL.
Il est donc fort probable que cela soit impossible avec Free.

J'avais utilisé cette solution pour me connecter à un server privé :s

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

connexion asp mysql [ par stella ] Bonjour,J'ai un problème. J'ai lu tout ce qui se disait dans ce site au sujet de la connexion entre une page asp et une base de données Mysql mais qua Connexion impossible client MySQL derrière serveur proxy [ par davidx888 ] J'ai développé une petite application client (en visual basic 6), cette application va se connecter à un serveur de données (MySQL)via Internet.Il n'y Connexion au serveur MySQL [ par riadh100 ] J'ai utilisé la fonction ci-dessous pour se connecter à MySQL, et j'ai réussis localement:Public Sub connection()strConnect = "DRIVER={MySQL ODBC 3.51 Pb Connexion MySQL [ par otterc8 ] Bonjour a tous, Et bien voila j'ai un petit probleme puisque lorsque j'essaye de me connecter &#224; ma base de donn&#233;es MySQL avec la chaine de Pb Connexion MySQL [ par otterc8 ] Bonjour a tous, Et bien voila j'ai un petit probleme puisque lorsque j'essaye de me connecter &#224; ma base de donn&#233;es MySQL avec la chaine de [MySQL]Connexion de @#%$? [ par otterc8 ] Bonjour a tous, Et bien voila j'ai un petit probleme puisque lorsque j'essaye de me connecter &#224; ma base de donn&#233;es MySQL avec la chaine de Connexion au serveur MySQL en utilisant le langage VB6 [ par riadh100 ] J'ai utilisé la fonction ci-dessous pour se connecter à MySQL, et j'ai réussis localement:Public Sub connection()strConnect = "DRIVER={MySQL ODBC 3.51 [PB] connexion serveur mysql easyphp [ par dirickles ] salut a tous,j ai un gros probleme, j arrive pas a me connecter sur mon serveur mysql de easyphp.j ai ce message : "ERREUR SQL : accès refusee pour l' urgent - connexion distante à mysql (modif admin) [ par kazer04 ] salut a tous je develope une aplication en vb.net accedant a une base de donne MYSQL j'utilise ADO; tout se passe comme je veux quand je me connect a chaine de connexion sql server et mysql [ par abdouinfomiage ] bonjour j'utilise le code suivant pour me connecter à une base de données access :'Chemin et nom de la BDchemin = "c:\OleDb.mdb"<font siz


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,484 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é.