如果我有一个DataRow
值,并且我想将其分配给String
变量,则以下是一种有效的方法,如果DataRow
值,则指定一个空字符串是Null
?
Dim string1 As String = If(myDataRow("column1"), "")
答案 0 :(得分:1)
由于myDataRow("column1")
不是Nothing
而是DBNull.Value
,您的代码将无效。
我会使用强类型Field
扩展方法,它也支持可空类型;
Dim string1 = If(myDataRow.Field(Of String)("column1"), "")
如果您想使用旧方式:
Dim string1 = If(myDataRow.IsNull("column1"), "", DirectCast(myDataRow("column1"), String))
答案 1 :(得分:0)
我建议创建一个这样的函数:
Shared Function DBNull2Space(ByVal objValue As Object) As Object
If IsDBNull(objValue) Then
DBNull2Space = Space(0)
Else
DBNull2Space = objValue
End If
End Function
这是对函数的调用:
Dim strTest as String = DBNull2Space(myDataRow("column1"))
答案 2 :(得分:0)
试试这个..
Dim string1 As String = If(IsDBNull(myDataRow.Item("column1")), "",myDataRow.Item("column1"))