我有点卡在我写的一些代码上
概述是我正在从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
我也试图实现数据表但在数据类型上收到转换错误
任何帮助,将不胜感激
多谢你们
您无法将datareader直接绑定到WinForms中的datagridview.相反,您可以使用阅读器加载数据表,并将数据表分配给DataGridView的数据源
Dim dt = new DataTable() dt.Load(reader) DataGridView1.AutoGenerateColumns = True DataGridView1.DataSource = dt DataGridView1.Refresh()