从数据集向列表框添加值 - NullReferenceException错误(VB.NET)

时间:2012-10-24 21:44:07

标签: vb.net

我正在尝试将单个记录从dataset填充到listbox。我可以看到数据集填充了期望值,数据集可视化工具中的列标题为“PLI”。我尝试使用以下命令使用数据集中的值填充列表框:

lstExistingPLI.Items.Add(New ListItem(ds.Tables("PLI").ToString()))

我一直收到一个未处理的NullReferenceException错误。我也尝试过使用

lstExistingPLI.Items.Add(ds.Tables("PLI").ToString())

并得到同样的错误。任何人都能帮我解决我做错的事吗?谢谢!

1 个答案:

答案 0 :(得分:1)

首先,我必须承认,我不知道是什么原因导致NullRefernceException

如果您没有initialized,则ListBox lstExistingPLI可能为null。如果未初始化,DataSet ds可能为null。也许你已经初始化了它,但你还没有为它添加名为“PLI”的DataTable,那么将从DataTableCollection.Item属性返回null。

但是,ds.Tables会返回DataTable。为什么你认为DataTable.ToString以有用的方式返回任何可以添加到ListBox的东西?是否要添加每个DataRow的字段?

(假设所有都是initialized正确)

For Each  row As DataRow In ds.Tables(0).Rows
    'assuming that PLI is not the table but the field that you want to add to the ListBox'
    lstExistingPLI.Items.Add(New ListItem(row.Field(Of String)("PLI")))
Next