2015-12-17 56 views
0

我在VB2015中頗爲新穎。當我嘗試從數據表中獲取值時遇到了問題。列的類型爲整數,而其值爲空。我的變量是cc。我的部分代碼在下面。我得到了「指定的演員無效」。請通知我如何在列爲空時從數據表中獲取值

 Dim cc As Nullable(Of Integer) 
     cc = Nothing 

     If dt.Rows.Count > 0 Then 
      cc = dt.Rows(0).ItemArray(0) 
      If cc Is Nothing Then 
       toID = 0 
      Else 
       toID = cc 
      End If 
      toName = dt.Rows(0).ItemArray(1).ToString 
     Else 
      toID = 0 
      toName = "" 
     End If 
+0

哪一行給出錯誤? –

+0

您可以針對DBNull.Value而不是Nothing進行檢查。 – Steve

+0

謝謝我解決它。使用DBnull.value – Kenn

回答

1

不是一個答案,但太大的評論。

您可以通過使用DataRow的Field(Of T)方法結合If運算符來簡化代碼,請注意,如果您不想使用該值,則不需要可爲空的cc--類似於這個:

Dim cc as Integer 
cc = If(dt.Rows(0).Field(Of Integer?)(0), 0) 

If dt.Rows.Count > 0 Then 
    toName = dt.Rows(0).Field(Of String)(1) 
Else 
    toID = 0 
    toName = "" 
End If