現在我想如果dt.rows(i).item(0)
爲空,那麼一些代碼..如何,如果數據表產品在VB空創造條件,以檢查
這是我的代碼:
If dtpay.Rows(i).Item(23).ToString Is Nothing Then
GoTo finalline
End If
,但似乎像代碼不工作.. 非常感謝你的關心:d
現在我想如果dt.rows(i).item(0)
爲空,那麼一些代碼..如何,如果數據表產品在VB空創造條件,以檢查
這是我的代碼:
If dtpay.Rows(i).Item(23).ToString Is Nothing Then
GoTo finalline
End If
,但似乎像代碼不工作.. 非常感謝你的關心:d
您可以使用GetType()
檢查對象爲DBNull
在VB.Net
:
If dtpay.Rows(i).Item(23).GetType() Is GetType(DBNull) Then
'Do something
End If
也就是說,上面代碼中的DBNull
也可能發生在dtpay.Rows(i)
。因此,請檢查DBNull
發生的位置。
此代碼仍然無法正常工作...其實我想當項目(23)爲空時,跳過下面的所有代碼。除了此解決方案之外,您還有其他方法嗎?我很抱歉,謝謝你的幫助 –
它在什麼意義上不起作用?它是否去了'If'塊? – Ian
我在try塊上運行它..無論如何,我不設置GoTo到try塊以外 –
沒有什麼不同於空。 沒有返回的默認值的字段的類型(0號「」文本,...)
If IsDBNull(dtpay.Rows(i).Item(23)) Then
GoTo finalline
End If
很抱歉,但這段代碼似乎也不能正常工作..你有其他解決方案嗎?非常感謝幫助:D –
您應該使用DataRow.IsNull
If dtpay.Rows(i).IsNull(23) Then
' ..... '
End If
如果它是一個值類型(像Integer
),您可以使用DataRow
-extension方法Field
:
Dim myNullableField As Int32? = dtpay.Rows(i).Field(Of Int32?)
If Not myNullableField.HasValue Then
' you get it's value via myNullableField.Value '
End If
此代碼仍然不工作...其實我想跳過下面的所有代碼,當項目(23)爲空..除了此解決方案之外,您還有其他方法嗎?在此先感謝 –
@JohnsYong:您的代碼會做相反的事情,如果是'DnBull',您將輸入代碼。如果你不想這樣:'如果不是dtpay.Rows(i).IsNull(23)然後' –
我剛剛得到解決方案。感謝您的幫助..我不知道爲什麼,但此代碼正在工作。無論如何,非常感謝您的幫助!我使用這種類型的代碼: 如果dt.Rows(i).Item(23)是Nothing OrElse dt.Rows(i).Item(23).ToString =「」OrElse dt.Rows(i).Item 23)= vbNull然後 轉到finalline 結束如果 –
儘量只:
If dtpay.Rows(i).Item(23) Is Nothing Then
GoTo finalline
End If
呵呵..它真的不工作,即使我再試一次 –
如果你想跳過下面的所有代碼時,項目(23)爲空:嘗試這一行如果dtpay.Rows i).Item(23)是沒有然後退出子或如果IsDBNull((dtpay.Rows(i).Item(23))然後退出子 –
如果dt.Rows(ⅰ).Item(23)是Nothing OrElse運算dt.Rows(ⅰ).Item(23)的ToString = 「」 OrElse運算dt.Rows(ⅰ).Item(23) = vbNull Then GoTo finalline End If
@JaydipJ在VB.Net中沒問題。你可能會想到C# – Ian
@lan是的我認爲C#和VB使用的庫函數是相同的。感謝信息 –
注意:你的代碼中有一些'vb6',特別是'goto'。此外'dtpay.Rows(i).Item(23)是DBNull.Value'將工作,以查看它是否爲空... – Codexer