2013-05-09 92 views
0

用vb.net和SQL ServerVB.Net数据集检查空

所以我的数据集是这样的:

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 

所以基本上我想要的是...如果数据库是空/空然后添加“0”到数组。但每次我运行这个代码,它只会给我错误状态,现在有行在当前位置(0)...

回答

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,你想迭代它。 重新考虑你的错误操作!

+0

好吧..现在得到它..非常感谢你 – 2013-05-09 13:45:21

0

我猜(我会猜测)数据集不仅是空的,但从未建立过。这将导致ds3.GetData.Count方法中的空例外。

尝试在调试中运行此操作,并检查ds3的值和ex中的消息。