VB.Net数据集检查null

时间:2013-05-09 11:44:13

标签: sql-server vb.net null dataset

使用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)处有行......

2 个答案:

答案 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并且您想要迭代它。  重新考虑你的错误处理!