在我的程序中,我正在编写一个类来读取一个数据库表中的值,并将它们复制到另一个数据库表中。 当读取字符串字段时,我有一个函数被调用,它检查字符串值是否为null,如果是,则返回一个空字符串,如果不是,则返回字符串。 (见下面的代码)
我还有datetime
个字段可以包含空值,并且没有类似的功能,在尝试复制它时会出现运行时错误。
如果数据库行中的值为空,是否可以使用下面的代码来输入空白日期?
Public Shared Function dbToString(o As Object) As String
If o Is DBNull.Value Then
Return String.Empty
Else
Return CStr(o)
End If
End Function
答案 0 :(得分:0)
DateTime是一种值类型,因此“空白”的概念不存在。您可以使用MinValue
的{{1}},但可能存在问题并且意图可能不明确。请改为使用可空的DateTime
:
DateTime
答案 1 :(得分:0)
您可以轻松返回Nothing
。不需要像string.empty这样的东西。
固定代码:
Public Shared Function dbToString(o As Object) As String
If o Is DBNull.Value Then
Return Nothing
Else
Return CStr(o)
End If
End Function