Imports MySql.Data.MySqlClient Dim Conn As MySqlConnection 'Ca OK Conn = New MySqlConnection()' OK aussi mais peut se faire en une ligne Dim Conn As New MySqlConnection 'connection a la base au chargement de la feuille Private sub frmcde_load() 'Ici, tu donne une chaîne de connexion à oConn qui n'est pas déclaré oConn.ConnectionString = "server=1.2.3.4;user id=root;password=0000;database=PDC" END SUB 'ajout d une commade avec le bouton enreg private sub btn-enreg_click () 'La tu redéclare Conn qui est déja déclaré plus haut Dim Conn As MySqlConnection Conn = New MySqlConnection() Conn.ConnectionString = "server=1.2.3.4;user id=root;password=0000;database=PDC" 'Ici tu ouvre oConn, or il ne te sers pas plus bas dans le code ??? oConn.Open() Dim myCommand As New MySqlCommand Dim MyAdapt As New MySqlDataAdapter Dim myDataTable As New DataTable Dim strQuery As String 'Ici tu donne à ta commande, Conn or, celle-ci n'est pas ouverte myCommand.Connection = Conn 'La, ta syntaxe pour la commande n'est pas bonne; myCommand.CommandText =("insert client values"(Me.txtcode.text& ", " & me.txtref.text& ", " & me.txtqte.text& ", " & me.txtmontant.text) 'Ta commande est une commande INSERT (faite pour insérer des données dans la base) et toi tu la passe en Commande SELECT (faite pour lire les données de la base). MyAdapt.SelectCommand = myCommand MyAdapt.Fill(myDataTable) 'Tu utilise une boucle For/Next, le mieu c'est For/Each, mais For/Next fonctionne quand même For i As Integer = 0 To myDataTable.Rows.Count - 1 MsgBox(myDataTable.Rows(i)("monChamp").ToString) Next endsub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question'Ici on déclare, instancie et spécifie la chaine de connexion en même temps (une seule ligne) Private Connex As New MySqlConnection("server=1.2.3.4;user id=root;password=0000;database=PDC") 'Cette procédure servira à ouvrir la connexion Private Sub Connect() ' 'tente d'ouvrir la connexion et affiche un message d'erreur en cas d'echec Try If Connex.State <> ConnectionState.Open Then Connex.Open() End If Catch ex As Exception MessageBox.Show("Echec de connexion au serveur de données." & Environment.NewLine & _ "Détails de l'erreur : " & ex.Message, _ "Echec de connexion", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) End Try ' End Sub Private Sub ExecCommand(ByVal query As String) ' Try ' 'On instancie la commande, en lui passant en paramètre la connexion et la requete SQL Dim cmd As New MySqlCommand(query, Connex) ' 'On exécute cette commande et celle-ci retourne le nombre de lignes affectés If cmd.ExecuteNonQuery = 0 Then ' MessageBox.Show("Opération impossible", _ "Erreur", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) ' End If ' Catch ex As Exception ' MessageBox.Show("Erreur d'accès aux données." & Environment.NewLine & _ "Détails de l'erreur : " & ex.Message, _ "Erreur", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) ' End Try ' End Sub 'Cette procédure va servir à ajouter un ligne dans la base Sub Ajouter(ByVal Code As String, ByVal Designation As String, ByVal prixunit As String) ' 'Crée la requête SQL (en passant en paramètres les valeurs de ta table produit) Dim Query As String = "INSERT INTO produit (code, designation, prixunit) VALUES ('" & _ prixunit & ", '" & _ Code & "', '" & _ Designation & ", '" & _ prixunit & "')" ' 'On exécute la requête SQL si la connexion est ouverte If Connex.State = ConnectionState.Open Then ExecCommand(Query) ' End Sub 'Cette procédure va servir à modifier une ligne dans la base Sub Edit(ByVal Code As String, ByVal Designation As String, ByVal prixunit As String) ' 'Ici, la requête va modifier la designation et le prix de l'article, on identifie le produit par son code. Dim Query As String = "UPDATE product SET Designation='" & Designation & _ "', prixunit='" & prixunit & "' WHERE (code='" & Code & "')" ' 'On exécute la requête SQL si la connexion est ouverte If Connex.State = ConnectionState.Open Then ExecCommand(Query) ' End Sub 'Cette procédure va servir à supprimer une ligne dans la base Private Sub Delete(ByVal code As String) ' 'La rêquête suivante supprime une ligne de la base, lors ce que son code se trouve être celui passé en paramètre. Dim Query As String = "DELETE FROM produit WHERE (code='" & code & "')" ' 'On exécute la requête SQL si la connexion est ouverte If Connex.State = ConnectionState.Open Then ExecCommand(Query) ' End Sub ' 'Cette fonction servirat à lire les données. Private Function ReadProducts() As DataTable ' Dim RetDT As New DataTable ' 'Ici la requête SQL permettant de récupérer toutes les données de la table Dim Query As String = "SELECT * FROM produit" ' Dim SDA As New MySqlDataAdapter(Query, Connex) ' Try ' 'Exécute la requête SQL (rempli la table) SDA.Fill(RetDT) ' Catch ex As Exception ' MessageBox.Show("Erreur d'accès aux données." & Environment.NewLine & _ "Détails de l'erreur : " & ex.Message, _ "Erreur", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) ' End Try ' 'Retourne la table Return RetDT ' 'Appeler cette fonction te retournera les données de ta table, sous forme de DataTable, 'tu peux en suite t'en servir pour remplir un DataGridView par exemple : 'DataGridView1.DataSource = ReadProducts ' End Function