我有一个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。
请帮忙。
答案 0 :(得分:1)
您必须将Datatable
指定为DataGridView1.DataSource
。不是DataSet。使用ds.Tables()
属性。
答案 1 :(得分: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”
即使你可以在数据集中有多个表,所以它的形式方法是给出数据名称。