Classe de connexion à une base mysql

Soyez le premier à donner votre avis sur cette source.

Vue 15 071 fois - Téléchargée 1 701 fois

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 / Exemple :


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.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
44
Date d'inscription
mercredi 13 février 2008
Statut
Membre
Dernière intervention
19 octobre 2009

salut Airman31 merci pour ce code source ca fait déja quelque semaine que je galère avec ce code pour le connecter a une base de donnée mysql distante
je m explique
j ai installé wampserver sur ma machine quand je me connecte a la base en local server=localhost tout marche bien
mais ce que je veux c est me connecter au mysql de wampserver d une autre machine de mon reseau
pour cela je mets sur server=192.168.1.2(l adresse ip de ma 2eme machine qui contient la base et j ajoute a la table user de mysql 192.168.1.2 comme root pour permettre une connexion a la base de données pour eviter tte confusion j ajoute aussi 192.168.1.1 mais malgré tout j arrive pas
avec une application php j arrive a me connecter depuis l autre machine mais avec mon application vb2008 j arrive pas
y a t il une solution stp??
Messages postés
11
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
20 juillet 2009

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
Messages postés
21
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
2 février 2009

ouai mais il ne marche pas avec sql.free.fr
Messages postés
2
Date d'inscription
dimanche 28 janvier 2007
Statut
Membre
Dernière intervention
5 septembre 2007

un script assé clair,
merci pr ton aide...
Messages postés
11
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
20 juillet 2009

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.
Afficher les 6 commentaires

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.