Le remplissage d'un DataGridView de SQLReader
Je suis un peu coincé sur un code que im écrit
Un aperçu, c'est que je suis en train de lire quelques données à partir d'une base de données SQL et wantint pour l'afficher dans un DataGridView sur un formulaire. J'ai confirmé qu'il existe des données retournés à partir de la base de données, mais ne sais pas pourquoi ce n'est pas à apparaître. J'ai suivi un certain nombre de tutoriels à partir de l'internet, mais jusqu'à présent non ont travaillé
voici mon code
Private Sub PopulateGrid()
Dim Con As New SqlClient.SqlConnection
Dim strCon As String = CropTrackMod.strConn
Dim strCommand As String = "select * from customer"
Try
Con.ConnectionString = strCon
Dim Cm As New SqlClient.SqlCommand(strCommand, Con)
Con.Open()
Dim reader As SqlClient.SqlDataReader = Cm.ExecuteReader()
'test to confirm data received
reader.Read()
MsgBox(reader.Item("ContactName"))
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = reader
DataGridView1.Refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error")
Finally
If Con.State = ConnectionState.Open Then
Con.Close()
End If
End Try
End Sub
j'ai également essayé de mettre en œuvre une datatable, mais recevoir une erreur de conversion du type de données
toute aide serait appréciée
merci les gars
- J'ai juste réussi à résoudre le problème par la mise en œuvre d'une datatable. J'ai passé le lecteur à la datatable et ensuite affecté à la source de données de la dataridview à la datatable
- Je ne vois pas pourquoi cette question a été downvoted, surtout depuis qu'il n'y a aucune explication pour le downvote...
- merci pour la rep changement, beaucoup apprécié
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas lier un objet datareader directement à un datagridview en WinForms. Au lieu de cela, vous pouvez charger une datatable avec votre lecteur et affecter la datatable à la source de données de la DataGridView