【问题标题】:How to bind DBnull values to grid view?如何将 DBnull 值绑定到网格视图?
【发布时间】:2013-08-08 12:54:02
【问题描述】:

我很难将值绑定到从数据库中检索的网格。我有一个可以为空的 DateTime 类型的数据库列。因此,当我尝试绑定该 null 值时,将这些列值添加到 object property 时会引发错误。因此,在添加从数据库中获取的值之前,我使用了一个函数,该函数在添加到对象之前将值转换为其默认类型。因为,日期时间类型的默认值为 1/1/0001 12:00:00 AM。因此,无论何时出现空值,我都会为该字段获取此值。

如何解决这个问题?请给出你的建议。

为了解释我的场景,我在这里添加一段代码。

public static T GetValue<T>(object o)
{
    T val = default(T);

    if (o != null && o != DBNull.Value)
    {
        val = (T)o;
    }
    return val;
}

这是我在从数据读取器读取数据时使用的辅助函数。

【问题讨论】:

  • SQL 和 .net 中 datetime 的默认值不同。
  • 使用可为空的日期时间:DateTime?。在 DBNull.Value 的情况下,将其字段设置为 null,否则,使用其值。

标签: c#-4.0 gridview dbnull


【解决方案1】:

由于您将日期时间声明为可为空,因此不要将其转换为日期时间,而是使用datetime? 进行转换

因此它允许使用 null 值的日期时间值

【讨论】:

    猜你喜欢
    • 2015-12-22
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多