我希望找到一种更简单的方法来检查值是否为dbNull,如果是,则将其转换为空字符串。
需要使用这种方法的一个示例情况是:
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个要用这个字符串显示的表格列,我必须对每一个进行检查以确保它们不为空。有没有更简单或者更容易的方法呢?