从SQLReader填充DataGridView

我有点卡在我写的一些代码

概述是我正在从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()

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...