如何在vb.net中的页面加载时将datagridview绑定到数据库

时间:2015-01-31 08:11:45

标签: vb.net sql-server-2008 datagridview

我在try catch块中使用下面的代码,但它提供了异常" ' table'参数不能为null。参数名称:表格"我的表名是种姓,那个表的两列是srno和castename。但是它说我的表没有数据.Memory表是一个数据表。

 Dim Dset As New DataSet()
            Dset = New DataSet()
            Dset.Tables.Add(MemoryTable)
            DataGridView1.DataSource = Dset.Tables("caste")

我尝试使用数据源连接数据库,但是它给出了Service Pack 1错误 '一种是在TextBox控件上使用数据绑定并分配相同的DataSource。但是它会给出错误

1 个答案:

答案 0 :(得分:1)

您没有显示MemoryTable的定义,但您确实说它是数据表。如果它是System.Data.DataTable类型的对象,那么它将具有名为TableName的属性。

当您使用字符串索引值访问DataTable中的DataSet时,您传递的值是表的TableName属性。因此Dset.Tables("caste")正在寻找DataTable属性设置为“种姓”的TableName。如果找不到,则返回Null。这看起来像是在发生什么。

因此将MemoryTable.TableName设置为“caste”,错误可能会消失。

我认为MemoryTable实际上有行?如果没有,这可能是您收到关于您的表没有数据的消息的原因。

所以你的代码应该是这样的:

Dim Dset As New DataSet()  ' You don't have to do a separate assignment to Dset
                           ' if you use New in the declaration, so we can omit that line.'
MemoryTable.TableName = "caste"
Dset.Tables.Add(MemoryTable)
DataGridView1.DataSource = Dset.Tables("caste")

实际上,您可以使用MemoryTable作为数据源,而无需将其添加到DataSet,除非您出于其他原因需要。

DataGridView1.DataSource = MemoryTable

我希望这会有所帮助。