私はいつも使っていたのと同じコードを再利用しようとしていますが、今はエラーが発生しています。Nullableオブジェクトは値#2を持つ必要があります
私は、様々なユーザーテーブルをループしていて、そこに私はこれを行う:ループ内
DateTime dcdt = (DateTime)u.DateCreated;
DateTime lldt = (DateTime)u.LastLogon;
userRow["DateCreated"] = dcdt.ToShortDateString();
。
System.InvalidOperationException: Nullable object must have a value.
エラーのハイライト "LLDT" ライン、代わりに最初に来る "DCDT" の:私はエラーを取得します。それはそれ自体で奇妙です。データベース「allow nulls」のこれらのフィールドが両方ともチェックされます。両方ともnullでもよいし、どちらもnullでもかまいません。
2つの値の両方がDateTimeとして表示されますか?インテリセンスを介してタイプします。
なぜ、ASP.NETがnullの日付に空白を出力することを許可しないのか分かりません。それが空白/ nullの場合、ロジックはASP.NETが何も印刷しないことを示唆します。
他にどのようにヌル日付を出力するとしますか?私はnullのDateTimesをキャストしようとするのを防ぐためにif文を追加しようとしましたが、それは役に立たず、意味がありません。
どうすればいいですか?私はキャストしませんか? DateTimeでShortDateString()を使用し続けますか? DateTimeの代わりに? – Dexter
カラムタイプがDateTime –
の場合、私の更新を見てください。 'u.LastLogon.Value.ToShortDateString()'はどうやって動かないのですか? –