1

如果我有一个DataRow值并且我想将它分配给一个String变量,那么以下是一种有效的方法来执行此操作并在DataRow值为时分配一个空字符串Null

Dim string1 As String = If(myDataRow("column1"), "")
4

3 回答 3

1

您的代码将不起作用,因为myDataRow("column1")is not Nothingbut DBNull.Value

我会使用Field也支持可空类型的强类型扩展方法;

Dim string1 = If(myDataRow.Field(Of String)("column1"), "")

如果您想使用旧方式:

Dim string1 = If(myDataRow.IsNull("column1"), "", DirectCast(myDataRow("column1"), String))
于 2013-07-09T07:40:44.780 回答
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"))
于 2013-07-09T07:48:22.837 回答
0

尝试这个 ..

Dim string1 As String = If(IsDBNull(myDataRow.Item("column1")), "",myDataRow.Item("column1"))
于 2013-07-09T10:39:47.170 回答