1

データベースから取得した値をグリッドにバインドするのに苦労しています。null 許容の DateTime 型のデータベース列があります。そのため、その null 値をバインドしようとすると、それらの列の値を object プロパティに追加するときにエラーがスローされます。したがって、データベースから取得した値を追加する前に、オブジェクトに追加する前に値をデフォルトの型に変換する関数を使用しています。以降、datetime Type のデフォルト値は 1/1/0001 12:00:00 AM です。したがって、null 値が存在する場合は常に、このフィールドのこの値を取得しています。

この問題を解決するには?あなたの提案をしてください。

私のシナリオを説明するために、ここにコードを追加しています。

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

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

これは、データ リーダーからデータを読み取るときに使用しているヘルパー関数です。

4

1 に答える 1

2

datetime を nullable として宣言したので、datetime に変換する代わりに、次を使用して変換します。datetime?

したがって、値を持つ日時値を許可しnullます

于 2013-09-11T06:39:05.030 に答える