Non voglio per convalidare txtBirthDate
quindi voglio passare DateTime.MinValue
nel database.DateTime.MinValue e SqlDateTime trabocco
Il mio codice:
if (txtBirthDate.Text == string.Empty)
objinfo.BirthDate = DateTime.MinValue;
else
objinfo.BirthDate = DateTime.Parse(txtBirthDate.Text);
DateTime.MinValue
ritorno Date = {1/1/0001 12:00:00 AM}
ho ottenuto un errore SQL:
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
ho sotto sopporto, ma io non capisco perché DateTime.MinValue
data di ritorno valida tempo che non è possibile inserire nel database. Come gestire questo tipo di situazione?
Definire un min-valore di te stesso? –
Il messaggio è una specie di spiegazione per te. La data minima accettata da SQL Server è 1/1/1753 mentre .Net utilizza 1/1/0001. Cosa non capisci? –
La logica suggerisce di utilizzare 'DateTime?' In C#, consentire al campo di accettare null nel database e inserire 'DBNull.Value' nel caso in cui' objinfor.BirthDate.HasValue' sia 'false'. Quello che voglio dire è che dovrebbe riflettere la realtà. Se la situazione in cui non esiste una data di nascita è accettabile di quanto dovrebbe essere nullable. – tpeczek