使用vb.net和sql server
所以我这样的数据集:
Dim ds3 As New FOCUSDataSetTableAdapters.GajiTableAdapter
我希望将数据集中的项目放入数组中。但是现在数据集是空的..所以我试试..
Dim smp As New List(Of String)()
Try
For i = 0 To ds3.GetData.Count - 1
If (ds3.GetData.Rows(0).Item(3) Is Nothing) Then
smp.Add("0")
End If
Next
Catch ex As Exception
i = i - 1
End Try
基本上我想要的是..如果数据库为null / empty,则将“0”添加到数组中。但是每次我运行这段代码时,它只给出了错误状态,即当前行(0)处有行......
答案 0 :(得分:0)
我猜(并且我猜测)数据集不仅是空的,而且从未设置过。这将导致ds3.GetData.Count
方法中出现空异常。
尝试在调试中运行此功能,并检查ds3
的值以及ex
中的消息。
答案 1 :(得分:0)
您的代码应该是这样的(可能需要进行更多修改 - 您的代码段无法测试):
Try
dim tbl as DataTable=ds3.GetData()
For i = 0 To tbl.Rows.Count - 1
If (tbl.Rows(i).Item(3) Is DBNull.Value) Then
smp.Add("0")
End If
Next
Catch ex As Exception
i = i - 1 'rather strange and probably causes endless loop
End Try
您应该知道GetData
方法返回一个DataTable并且您想要迭代它。
重新考虑你的错误处理!