vb.net 用数据集填充数组

Posted

技术标签:

【中文标题】vb.net 用数据集填充数组【英文标题】:vb.net Fill array with dataset 【发布时间】:2012-11-10 19:12:14 【问题描述】:

我正在尝试使用从表中检索到的 DataSet 填充类数组

如果我直接从 DataSet 填充一个文本框,它工作得很好,但是数组的填充给了我这个异常,如果 arry(i).ArrID 是一个整数

system.NullReferenceException

行是这样的:

arry(i).ArrID = ds.Tables(0).Rows(i).Item(0)

如果arry(i).ArrID 是字符串,则异常读取

对象引用未设置为对象的实例。

我是 VB 新手,希望能得到一些帮助,感谢您的宝贵时间。

【问题讨论】:

你初始化你的数组变量arry了吗? 【参考方案1】:

在 VBA 中,Tables 对象的起始索引为 1,因此如果您使用的索引为 0,则您引用的表不存在,因此为空引用。您还应该更改 Item(0) 引用,并确保永远不会将 i 设置为 0。 [Source]

【讨论】:

感谢您的回复,我按照您的建议硬编码了 1。 i=0 arry(i).ArrID = ds.Tables(1).Rows(1).Item(1) 有同样的例外。当我使用此代码加载到文本框中时,它可以完美运行。 i=0 SerReturn.Text = ds.Tables(0).Rows(i).Item(0) 但是就在这篇文章的中间,我意识到问题一定出在我的数组上,得到答案后我会发布想通了。

以上是关于vb.net 用数据集填充数组的主要内容,如果未能解决你的问题,请参考以下文章

来自数据集的 Vb.Net 水晶报告

VB.NET 数据集更新

我应该如何最好地从 VB.net 查询我的数据集?

Vb.Net 数据集表 = 新数据表

数据集更新vb.net后DataGridView不刷新

如何在 VB.NET 中将 '<unnamed portal 1>' 转换为 plpgsql 函数的数据集