私が書いているいくつかのコードに少し立ち往生しています
概要は、SQLデータベースからいくつかのデータを読み込んでいて、それをフォームのDataGridViewに表示したいということです。データベースから返されるデータがあることを確認しましたが、なぜこれが表示されないのかわかりません。私はインターネットからいくつかのチュートリアルに従いましたが、これまでのところうまくいきませんでした
これが私のコードです
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
私もデータテーブルを実装しようとしましたが、データ型で変換エラーを受け取りました。助けていただければ幸いです。
みんなありがとう
WinFormsのデータグリッドビューにデータリーダーを直接バインドすることはできません。代わりに、リーダーでデータテーブルをロードし、DataGridViewのデータソースにデータテーブルを割り当てることができます。
Dim dt = new DataTable()
dt.Load(reader)
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = dt
DataGridView1.Refresh()