当前位置:  开发笔记 > 编程语言 > 正文

从数据库中获取NULL值并分配给Date变量

如何解决《从数据库中获取NULL值并分配给Date变量》经验,为你挑选了1个好方法。

存储过程返回有关用户记录的数据,包括上次登录日期的可空日期时间列.在尝试分配.Net日期变量时,哪一个是处理NULL值可能性的更好选择?

    Try
        _LastLogin = CDate(DT.Rows(0)("LastLogin"))
    Catch ex As InvalidCastException
        _LastLogin = Nothing
    End Try

要么

    If DT.Rows(0)("LastLogin") Is DBNull.Value Then
        _LastLogin = Nothing
    Else
        _LastLogin = CDate(DT.Rows(0)("LastLogin"))
    End If

编辑:我也忘记了使用TryParse的可能性

    If Not Date.TryParse(DT.Rows(0)("LastLogin").ToString, _LastLogin) Then
        _LastLogin = Nothing
    End If

哪个是NULL从数据库中处理可能值的首选方法?有没有比列出的三个更好的方法?

编辑#2:我注意到TryParse在尝试分配Nullable类型时该方法不能很好.



1> Matthew Boni..:

第二个代码片段更好.例外是针对特殊情况,而不是您预期会发生的情况.此外,意图更好.很明显,您期望DBNull成为可能的值,并且您希望相应地处理它.

此外,如果值不为null但不可解析,则可能会产生意外后果(尽管这可能永远不会发生).

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有