この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 22861|答える: 0

[出典] SqlDateTimeオーバーフロー。 1753年1月1日午前0時から12月31日までの間になければなりません

[リンクをコピー]
掲載地 2016/06/29 12:08:36 | | | |
SqlDateTimeオーバーフロー。 1753年1月1日午前0時00分00秒から19999年12月31日11日までの間になければなりません


NHibernate ormフレームワークでデータを挿入した際、上記の誤りが報告されました:

SqlDateTime overflow / SqlDateTime overflow
[概要:エラー - SqlDateTimeオーバーフロー。 1753年1月1日午前0時00分00秒から12月31日午後11時59分59秒までの間になければなりません。SqlDateTimeオーバーフロー。 必須:1753年1月1日 午前0時00分00秒 戦争 9999年12月31日 23時59分59秒 理由 C#を適用または更新する際、データベースの挿入または更新時、日付時間の単語]

エラー - SqlDateTime オーバーフロー。 1753年1月1日午前0時から12月31日午後11時59分59秒の間に必要です
SqlDateTimeオーバーフロー。 1753年1月1日午前0時から12月31日午後11時59分59秒の間に必要です

原因

C#のデータベースの挿入または更新を行う場合、datetimeフィールドの値はデフォルトでnullとなります。挿入C# 0001-01-01はSQL Serverのdatetimeタイプのオーバーフローを引き起こします。

C#におけるDateTime型の範囲

DateTime.MinValue = 1/1/0001 午前12:00:00 DateTime.MaxValue = 23:59:59.99999999、9999年12月31日、10000年1月1日00:00:00のちょうど100ナノ秒の1ティック
SQL ServerにおけるDatetime型の範囲

1753年1月1日午前0時00分0秒から19999年12月31日午後11時59分59秒まで


この記事を読んで、何か理解したと思います。空のプロパティがあるべきで、NHibernateが自動的にデフォルト値を設定するはずです。私はこういう感じであるべきだと思います????


そして、元々割り当てされていなかったUpdateTime属性を割り当てた後、エラーはなかった、そしてデータテーブルを挿入しました。

しかし、私の分野が空っぽになることもあります。どうすればいいでしょうか???

DateTimeというクラスでUpdateTimeプロパティを見つけてDateTimeに設定できますか?  つまり、空を受け入れることです。 (マッピングされたXMLが最も良く、not-null="false"にも設定されます。以下のように)。



ついに成功しました。データベースのスクリーンショットを撮ってください!






先の:マッピングドキュメントをコンパイルできませんでした:xxx.hbm.xml
次に:NHibernateにおけるISessionのフラッシュ理解
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com