Ich möchte txtBirthDate
nicht validieren, also möchte ich DateTime.MinValue
in der Datenbank übergeben.DateTime.MinValue und SqlDateTime Überlauf
Mein Code:
if (txtBirthDate.Text == string.Empty)
objinfo.BirthDate = DateTime.MinValue;
else
objinfo.BirthDate = DateTime.Parse(txtBirthDate.Text);
DateTime.MinValue
Rückkehr Date = {1/1/0001 12:00:00 AM}
bekam ich einen SQL-Fehler:
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
Ich stehe es unter aber ich verstehe nicht, warum DateTime.MinValue
Rückkehr ungültiges Datum Zeit welches nicht in die Datenbank eingefügt werden kann. Wie kann man mit dieser Art von Situation umgehen?
definieren min-Wert zu erhalten? –
Die Nachricht erklärt dir das irgendwie. Die vom SQL Server akzeptierte Mindestdatumszeit ist 1/1/1753, während .Net 1/1/0001 verwendet. Was verstehst Du nicht? –
Die Logik würde empfehlen, 'DateTime?' In C# zu verwenden, dem Feld zu erlauben, null in der Datenbank zu akzeptieren und 'DBNull.Value' einzufügen, falls 'objinfor.BirthDate.HasValue'' false' ist. Was ich meine ist, dass es die Realität widerspiegeln sollte. Wenn eine Situation, in der es kein Geburtsdatum gibt, akzeptabel ist, sollte es nullfähig sein. – tpeczek