我正在尋找一種更簡單的方法來檢查值是否爲dbNull,並將其轉換爲空字符串(如果有的話)。將dbNull轉換爲VB.NET中的字符串的簡單方法
的情況,我需要這將是一個例子:
Dim dt As New DataTable
Dim conn As New OleDbConnection(someConnStr)
Dim adap As New OleDbDataAdapter(qryCSSInfo, cssConn)
adap.Fill(dt)
Dim someStr As String = "The first column of the first row returned: " & dt.rows(0).item(0)
Msgbox(someStr)
的問題是,如果dt.rows(0).item(0)是數據庫中的空它將作爲一個被退回dbNull值,它顯然不能附加到字符串。
我對這個問題的解決方案一直使用if語句來替換空字符串值:
Dim dt As New DataTable
Dim conn As New OleDbConnection(someConnStr)
Dim adap As New OleDbDataAdapter(qryCSSInfo, cssConn)
adap.Fill(dt)
If Not isDBNull(dt.rows(0).item(0)) then
Dim someStr As String = "The first column of the first row returned: " & dt.rows(0).item(0)
Else
Dim someStr As String = "The first column of the first row returned: " & ""
End If
Msgbox(someStr)
這工作得很好,我的目的,但它得到壓倒性的,如果我必須做這個檢查每列我需要在桌上使用。假設我有10列表,我想用這個字符串顯示。我必須對每一個進行檢查以確保它們不爲空。有沒有更容易或更簡單的方法?
與OLE它變得相當繁瑣。 ADO.NET傾向於爲您生成isColNameNull()函數,所以使用它會更好一些,但想法是一樣的。在嘗試使用數據之前,您必須檢查dbnull。 –
http://stackoverflow.com/a/29611932/1070452 – Plutonix