Bonsoir,
j'affiche des données issues d'une table mysql dans un datagridview1, après avoir sélectionné un nom dans une combobox,
lorsque je sélectionne mon premier nom dans ma combobox et que je clique sur rechercher, pas de problème le résultat de ma requête s'affiche.
Le problème apparaît lorsque j'effectue une seconde recherche, je sélectionne un autre nom dans ma combobox et la j'obtient ce message d'erreur :
La référence d'objet n'est pas définie à une instance d'un objet.
Comment cela ce fait il étant donné que ma première requête fonctionne les autres requêtes le devrait aussi !
voici mon code :
l'erreur apparait pour cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Public Class affect Dim HostConn As New MySqlConnection 'Pour une conexion a base de données MySQL Dim da2 As MySqlDataAdapter 'is use to update the dataset and datasource Dim dst2 As New DataSet 'miniature of your table - cache table to client Dim requete As String 'Chaine ou sera stocker les requetes Private Sub affect_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load HostConn.ConnectionString = "server=localhost;" _ & "user id=root;" _ & "password=;" _ & "database=intervention" Try HostConn.Open() Catch myerror As MySqlException MessageBox.Show("Erreur de connection à la base: " & myerror.Message) End Try 'mon bouton recherche Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'ici requete pour la recherche d'aprés le choix de la combo da2 = New MySqlDataAdapter("SELECT vehicule, fonction, count(id) AS nbr_inter FROM affect WHERE identite = '" & ComboBox1.SelectedItem & "' GROUP BY vehicule, fonction", HostConn) da2.Fill(dst2, "affect") DataGridView1.DataSource = dst2.Tables("affect") DataGridView1.Columns("vehicule").HeaderText = "Vehicules" DataGridView1.Columns("vehicule").Width = 80 DataGridView1.Columns("fonction").HeaderText = "Fonction" DataGridView1.Columns("fonction").Width = 70 DataGridView1.Columns("nbr_inter").HeaderText = "Nbrs/inters" DataGridView1.Columns("nbr_inter").Width = 120 DataGridView1.AllowUserToAddRows = False DataGridView1.RowHeadersVisible = False Label2.Text = "Détail pour " & (ComboBox1.SelectedItem).ToString DataGridView1.Columns.Clear() dst2.Clear() End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part DataGridView1.Columns("vehicule").HeaderText = "Vehicules"
Partager