2011-03-08 20 views
2

DateTime.MinDateを挿入、NULL可能日時欄で私のテーブルに挿入エラーが発生します:私はMaxDateを行う際はなぜmaxDateのを挿入することができなくMinDateプロパティ

"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."

はまだそれが正常に動作しますか? 私は実際にこの値をnullとして挿入したいと思いますが、PropertyInfo.SetValue()にnull値を渡すだけで自動的にMinDateという設定がありますか?

+0

どのDBMS? SQLサーバー? –

+0

どのようなプログラミング言語とデータベースシステムを使用していますか? – srgerg

+0

Sorry Sql ServerとC# – Grace

答えて

3

Sql Server DateTimeの範囲は、1753-01-01から9999-12-31までであり、.NET's DateTimeから0001-01-01 12:00:00真夜中から9999-12-31 11:59:59までです。

したがってDateTime.MinValueはSqlサーバーの最小値よりも小さく、DateTime.MaxValueはSqlサーバーDateTimeに適合します。


nullables:DateTime?を使用すると、メモリにnullを入れることができます。

+0

ニースと効率的です:S挿入を実行すると、C#経由でこの値にプレーンな古いnullを挿入する方法はありますか? – Grace

+0

このフィールドをdbにnullableにして、nullの場合は値を渡さないでください。 – Pabuc

+0

SqlCommandsを使用している場合は、nullの代わりにDBNull.Valueを直接使用してください。 – Peter

関連する問題