2013-05-09 175 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中的消息。