如果 a 中的一列DataRow
可能是DBNull
,以下是用空字符串替换 的最短方法DBNull
吗?
Dim result As String = if(isDBNull(dataRow1("column1")), "", dataRow1("column1"))
如果 a 中的一列DataRow
可能是DBNull
,以下是用空字符串替换 的最短方法DBNull
吗?
Dim result As String = if(isDBNull(dataRow1("column1")), "", dataRow1("column1"))
dataRow1("column1") & ""
将在 VB 中产生所需的结果。
只需使用Field(Of T)
方法,它将为您转换DBNull
值Nothing
。此外,它们是类型安全的。
Dim result = If(dataRow1.Field(Of String)("column1"), String.Empty)
您可能想要创建一个易于使用的扩展方法(未经测试):
Imports System.Data
Imports System.Runtime.CompilerServices
Module Extensions
<Extension()>
Public Function GetStringValue(dataRow As DataRow, columnName As String, Optional substituesForDBNull As String = Nothing) As String
If IsDBNull(dataRow(columnName)) Then
Return substituesForDBNull
End If
Return CStr(dataRow(columnName))
End Function
End Module