Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 22861|Svar: 0

[Källa] SqlDateTime-överflöd. Måste vara mellan 1/1/1 1753 00:00:00 och 31/12/9999

[Kopiera länk]
Publicerad på 2016-06-29 12:08:36 | | | |
SqlDateTime-överflöd. Måste vara mellan 1/1/1/1753 00:00 och 999999:12-31


När data infogades med NHibernate-ormramverket rapporterades ovanstående fel:

SqlDateTime överflöd / SqlDateTime-överflöd
[Sammanfattning: Fel - SqlDateTime överflöd. Måste vara mellan 1/1/1/1753 00:00:00 och 31/12/9999 23:59:59 SqlDateTime-överflöd. Måste vara mellan 1/1/1/1753 00:00:00 Krig 31/12/9999 23:59:59 Anledning När C# infogar eller uppdatera databas, datum-tid ord

Fel - SqlDateTime överflöd. Måste vara mellan 1/1/1/1753 00:00:00 och 99999:12-31 23:59:59
SqlDateTime-överflöd. Måste vara mellan 1/1/1/1753 00:00:00 och 99999:12-31 23:59:59

Orsak

När man använder C# insert eller update database är datetime-fältvärdet som standard null. Insättning C# 0001-01-01-01 orsakar överflöd av SQL-server datetime-typ.

DatumTidstypintervall i C#

DateTime.MinValue = 1/1/0001 00:00:00 AM DateTime.MaxValue = 23:59:59.99999999, 31 december 9999, exakt ett 100-nanosekunds tick före 00:00:00, 1 januari 10000
Datetime-typintervall i SQL Server

mellan 1/1/1753 00:00:00 och 99999 31/12 23:59:59


Efter att ha läst den här artikeln förstår jag nog något, det borde finnas en egenskap som är tom, NHibernate sätter automatiskt standardvärdet, jag tror det borde vara så här????


Sedan, efter att ha tilldelat attributet UpdateTime som inte var ursprungligen,fann att det inte fanns något fel, och sedan infogade datatabellen,

Men mitt fält kan vara tomt, vad ska jag göra???

Hitta egenskapen UpdateTime under klassen DateTime och ställ in den till DateTime?  Det vill säga, tillåt tomhet. (I den mappade xml är bäst, även sätts till not-null="false", enligt följande:)



Äntligen, framgång, ta en skärmdump av databasen!






Föregående:Kunde inte kompilera mappningsdokumentet: xxx.hbm.xml
Nästa:Djup förståelse av ISession i NHibernate
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com