Problème combobox et base de données
Voila, je suis en train de développer une fonction qui remplie un combobox à partir d'une requête SQL.
Sauf que lorsque je l'exécute j'ai un message d'erreur "ExecuteReader: la propriété connexion n'a pas été initialisé" du cou, mon combobox ne se remplie pas.
Voici l'exemple de mon code
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 36 37 38
| Public Function ChargeCombo(ByVal combobox As ComboBox, ByVal req As String)
Try
'Instanciation de la connexion
ObjetConnection = New OleDbConnection
'On donne les valeurs à la connexion
ObjetConnection.ConnectionString = strConn
'Instanciation d'un objet Commande
ObjetCommand = New OleDbCommand(req)
'On ouvre la connexion
ObjetConnection.Open()
'Instanciation d'un objet datareader
ObjetDatareader = ObjetCommand.ExecuteReader
' On vide le ComboBox
combobox.Items.Clear()
If ObjetDatareader.HasRows Then
' tant que le DataReader a une ligne d'enregistrements
While ObjetDatareader.Read
' ajouter la donnée au ComboBox
combobox.Items.Add(ObjetDatareader.GetValue(0))
End While
Else
MessageBox.Show("Il n'y a pas de données", "Infos", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
If Not (ObjetDatareader Is Nothing) Then ObjetDatareader.Close()
If Not (ObjetConnection Is Nothing) Then ObjetConnection.Close()
End Try
Return ComboBox
End Function |
De plus, j'aimerais savoir si on est obligé d'utiliser un datareader et pas un dataset et aussi j'aimerais a partir de la même requête pouvoir compléter des textbox en fonction de mon combobox.
En gros, si dans ma table j'ai les colonnes nom et prénom, que mon combobox contient les noms, j'aimerais qu'en changeant le dans le combobox que le prénom change automatiquement dans le textbox.
D'avance merci pour l'aide que vous pourrez m'apporter
@++
dubidon