0

我有一个gridview,我在其中将数据集分配为程序中的数据源。

我的 Form_Load() 事件是:

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim cn As New SqlConnection("Data Source=HCL-43AF369E5A0;Initial Catalog=Exam;Integrated Security=True")
    Dim cmd As SqlCommand
    Dim da As SqlDataAdapter
    Dim ds As DataSet
    cn.Open()
    cmd = New SqlCommand("Select * from Contact", cn)
    da = New SqlDataAdapter(cmd)
    ds = New DataSet
    da.Fill(ds)
    cn.Close()

    DataGridView1.DataSource = ds

End Sub

我的代码有什么错误?我调试了代码,发现数据集获取数据但无法将其绑定到gridview。

请帮忙。

4

2 回答 2

1

你必须分配一个Datatableas DataGridView1.DataSource。不是数据集。使用ds.Tables()财产。

于 2013-05-12T17:33:33.907 回答
0

正式的方式是

Dim cn As New SqlConnection("Data Source=HCL-43AF369E5A0;Initial Catalog=Exam;Integrated Security=True")
Dim cmd As SqlCommand        
Dim da As SqlDataAdapter
Dim ds As DataSet
cn.Open()
cmd = New SqlCommand("Select * from Contact", cn)
da = New SqlDataAdapter(cmd)
ds = New DataSet
da.Fill(ds)                    // edit here like      da.fill(ds, "table name")
cn.Close()

DataGridView1.DataSource = ds
DataGridView1.DataMember = "table name"

// 表名将与您的数据库中的任何不同

您的数据集实际上是您通过执行查询获得的数据,例如“select * from tablename”

即使您可以在数据集中拥有多个表,所以它的正式方法是提供数据成员名称。

于 2013-05-13T03:02:49.240 回答