Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affichage de résultat d'une requête dans DataGridView

1 réponse
Avatar
monalisa13
Bonjour tous,
J'aurais besoin de votre aide car je ne trouve pas de solution, et j'ai pourtant cherché.
Pour information, j'ai une base de données créer avec MySqL Query Browser, une connexion a été effectué avec visual basic, je veux afficher le resultat d'une requête MySql dans un DataGridView.
J'ai essai d'implémenter une procédure recherche dans un module en mettant en paramêtres DataGridView:

Public Sub Recherche(ByVal chaine As String, ByRef tab As DataGridView)
Try
connexion.Open()
Dim adapte As New MySqlDataAdapter(chaine, connexion)
Dim table As New DataTable
adapte.Fill(table)

Try
For c = 0 To table.Columns.Count
For r = 0 To table.Rows.Count
tab.Rows(r).Cells(c) = table.Rows(r).Item(c)
Next
Next
connexion.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

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

et j'ai fais l’appeler dans un evenement click :

Private Sub searche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searche.Click
Dim ch As String = "e;select libele from famille where libele = "e; & cher_par.Text & "e;;"e;
Recherche(ch, DataGridView2)
End Sub.

Mais rien n'est afficher, si quelqu'un peut m'apporter une solution.
Merci.

1 réponse

Avatar
karimsbiti
Le vendredi 28 Août 2015 à 15:02 par monalisa13 :
Bonjour tous,
J'aurais besoin de votre aide car je ne trouve pas de solution, et j'ai
pourtant cherché.
Pour information, j'ai une base de données créer avec MySqL Query
Browser, une connexion a été effectué avec visual basic,
je veux afficher le resultat d'une requête MySql dans un DataGridView.
J'ai essai d'implémenter une procédure recherche dans un module
en mettant en paramêtres DataGridView:

Public Sub Recherche(ByVal chaine As String, ByRef tab As DataGridView)
Try
connexion.Open()
Dim adapte As New MySqlDataAdapter(chaine, connexion)
Dim table As New DataTable
adapte.Fill(table)

Try
For c = 0 To table.Columns.Count
For r = 0 To table.Rows.Count
tab.Rows(r).Cells(c) = table.Rows(r).Item(c)
Next
Next
connexion.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

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

et j'ai fais l’appeler dans un evenement click :

Private Sub searche_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles searche.Click
Dim ch As String = "e;select libele from famille where libele =
"e; & cher_par.Text & "e;;"e;
Recherche(ch, DataGridView2)
End Sub.

Mais rien n'est afficher, si quelqu'un peut m'apporter une solution.
Merci.


Je viens de réaliser une petite application de gestion de répertoire téléphonique et j'ai été confronté à la même situation que la vôtre. J'ai rédigé la procédure suivante qui marche à merveille. Là voici :

Private Sub Reinitialiser()

‘Ouverture de la connexion
Connexion.Open()

‘Vider le DataGridView de son contenu éventuel
DataGridView1.Rows.Clear()

Dim Cmd As New SqlCommand()
Cmd.CommandText = "select * from MaTabledeDonnees"
Cmd.CommandType = CommandType.Text
Cmd.Connection = Connexion
Dim Dr As SqlDataReader = Cmd.ExecuteReader()

‘Vérification si le DataReader contient des enregistrements
If Dr.HasRows Then

While Dr.Read

‘Remplissage du DataGridView par le contenu de MaTabledeDonnees qui comprend 5 champs
DataGridView1.Rows.Add(Dr.GetValue(0), Dr.GetValue(1), Dr.GetValue(2), Dr.GetValue(3), Dr.GetValue(4))
End While

End If

‘Fermeture de la connexion
Cn.Close()

End Sub