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 :
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 |
l'erreur apparait pour cette ligne :
DataGridView1.Columns("vehicule").HeaderText = "Vehicules"
Partager