vb.net等效于String.Empty

时间:2016-07-28 09:48:07

标签: sql database vb.net string dbnull

在我的程序中,我正在编写一个类来读取一个数据库表中的值,并将它们复制到另一个数据库表中。 当读取字符串字段时,我有一个函数被调用,它检查字符串值是否为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

2 个答案:

答案 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