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

how to bind datagridview to database at page load time in vb.net

我在 try catch 块中使用了以下代码,但它给出了异常'table' 参数不能为空。参数名称:table" .My table 名字是种姓 table 两列有 srno 和 castename 。但是它说我的 table 没有 data.Memory table 是数据 table.

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

我尝试使用数据源与数据库进行数据连接,但出现服务包 1 错误 '一种是在您的 TextBox 控件上使用数据绑定并分配相同的 DataSource.but 它给出错误

你没有显示 MemoryTable 的定义,但你确实说它是一个数据 table。如果它是 System.Data.DataTable 类型的对象,那么它将有一个名为 TableName.

的 属性

当您使用字符串索引值访问 DataSet 中的 DataTable 时,您传递的值是 table 的 TableName 属性.所以 Dset.Tables("caste") 正在寻找 DataTable,其 TableName 属性 设置为 "caste"。如果找不到,它将 return Null。看起来是这样。

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

我假设 MemoryTable 实际上有行?如果不是,这可能是您收到有关 table 没有数据的消息的原因。

因此您的代码应如下所示:

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

希望对您有所帮助。