【问题标题】:Database NULL Value [duplicate]数据库空值 [重复]
【发布时间】:2013-04-28 16:11:42
【问题描述】:

我发现在我的代码库中很多地方都被编码为

 dr["FIRST_ITEM"].Trim()

现在的问题是,如果FIRST_ITEM 列是允许空值,则有机会遇到空指针异常。我知道,我可以把代码改成

Convert.ToString(dr["FIRST_ITEM"]).Trim()

为了解决问题。但后来我必须用 1000 行代码来做这件事。我可以有解决方案,通过它我可以用最少的努力解决问题吗?

【问题讨论】:

    标签: ado.net


    【解决方案1】:

    我刚刚写了一个这样的快速方法:

      private static string GetS(object obj)
            {
                if (obj == null || obj == DBNull.Value)
                    return "";
    
                return obj.ToString();
    
            }
    

    例子:

    MyObject.LastName = GetS(dr["LastName"]));
    

    有一天我会有时间回去写一个 DataRow 的扩展或写一个通用转换器。但现在这可行,我有一个用于日期和布尔数据类型的。

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 2019-02-11
      • 2016-12-21
      • 2018-05-16
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 2011-06-09
      相关资源
      最近更新 更多