Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 22861|Antwort: 0

[Quelle] SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 um 00:00:00 Uhr und dem 31.12.999 liegen

[Link kopieren]
Veröffentlicht am 29.06.2016 12:08:36 | | | |
SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.9999 11 liegen


Beim Einfügen von Daten mit dem NHibernate-Orm-Framework wurde der obige Fehler gemeldet:

SqlDateTime-Überlauf / SqlDateTime-Überlauf
[Zusammenfassung: Fehler – SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 um 00:00:00 Uhr und am 31.12.999 um 23:59:59 Uhr liegen, SqlDateTime-Überlauf. Muss zwischen dem 1.01.1753 00:00:00 Uhr liegen Krieg 31.12.9999 23:59:59 Grund Grund Beim Anwenden von C# Datenbank einfügen oder aktualisieren, Datum und Zeit Wort]

Fehler – SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr liegen
SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr liegen

Ursache

Bei Verwendung von C# Insert- oder Update-Datenbank ist der Datetime-Feldwert standardmäßig null. Die Einfügung C# 0001-01-01-01 verursacht einen Überlauf des SQL-Server-Datetime-Typs.

DateTime-Typbereich in C#

DateTime.MinValue = 1.1.0001 00:00:00 Uhr DateTime.MaxValue = 23:59:59.99999999, 31. Dezember 9999, genau ein 100-Nanosekunden-Tick vor 00:00:00, 1. Januar 10000
Datetime-Typbereich in SQL Server

zwischen dem 1.01.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr


Nachdem ich diesen Artikel gelesen habe, habe ich wahrscheinlich etwas verstanden: Es sollte eine Eigenschaft geben, die leer ist, NHibernate setzt automatisch den Standardwert, ich denke, es sollte so sein????


Dann, nachdem das ursprünglich nicht zugewiesene UpdateTime-Attribut zugewiesen wurde,stellte fest, dass kein Fehler vorlag, und fügte dann die Datentabelle ein,

Allerdings kann mein Fachgebiet leer sein, was soll ich tun???

Finden Sie die UpdateTime-Eigenschaft unter der Klasse DateTime und setzen Sie sie auf DateTime?  Das heißt, Leere zulassen. (Im abgebildeten XML ist am besten, ebenfalls auf nicht-null="false" gesetzt, wie folgt:)



Endlich, Erfolg – mach einen Screenshot der Datenbank!






Vorhergehend:Konnte das Mapping-Dokument nicht kompilieren: xxx.hbm.xml
Nächster:Ein tiefgründiges Verständnis von ISession in NHibernate
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com