2013-05-12 58 views
0

我有一个gridview,在其中我将数据集分配为数据源在我的程序中。无法在桌面应用程序的vb.net中绑定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。

请帮忙。

回答

1

您必须指定DatatableDataGridView1.DataSource。不是数据集。使用ds.Tables()财产。

+0

谢谢你完美的工作...... @Manolis Xountasis – 2013-05-12 17:35:37

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" 

//表的名字会不会有不一样在你的数据库

数据集实际上是你通过执行查询像得到一个数据“选择*来自表名“

即使您可以在数据集中拥有多个表,以便为其提供datamember名称的正式方法。