I am developing a project that has a DateTime field.
In it I’m using jQuery for the user to select the date format ‘dd/MM/yyyy’ taking into account that the date is not a required field.
How do you do to save DateTime fields not required in WebMatrix and Razor?
I was trying to do something like this:
I put only the code which I think is
important to complete the code can be
found here
@{
//Get data
string TaskForecastCompletion= Request["txtForecastCompletion"];
string TaskCompletedIn= Request["txtCompletedIn"];
DateTime dtForecastCompletion = default(DateTime);
if (!Request["txtForecastCompletion"].IsEmpty() && !DateTime.TryParse(Request["txtForecastCompletion"], out dtForecastCompletion))
{
ModelState.AddError("PrevisaoFinalizacao", "Data de previsão de finalização é inválida. Formato: dd/mm/aaaa");
}
sql = @"update Tasks set Title = @0 ,Description = @1 ,ProjectID = @2 ,ForecastCompletion = @3 ,RequestBy = @4 ,CompletedIn = @5 ,Modified = getdate() ,Priority = @6 where ID = @7";
db.Execute(sql, TaskTitle,TaskDescription, ProjectID, dtForecastCompletion, TaskRequestBy, dtTaskCompletedIn, TaskPriority, TaskID);
}
Error trying to change
An overflow occurred while converting
to datetime. Description: An
unhandled exception occurred during
the execution of the current web
request. Please review the stack trace
for more information about the error
and where it originated in the code.Exception Details:
System.Data.SqlServerCe.SqlCeException:
An overflow occurred while converting
to datetime.Source Error:
Line 62: {
Line 63:
sql = @”update Tasks set Title = @0
,Description = @1 ,ProjectID = @2
,ForecastCompletion = @3 ,RequestBy =
@4 ,CompletedIn = @5 ,Modified =
getdate() ,Priority = @6 where ID =
@7″; Line 64:
db.Execute(sql,
TaskTitle,TaskDescription, ProjectID,
dtForecastCompletion, TaskRequestBy,
dtTaskCompletedIn, TaskPriority,
TaskID); Line 65:
} Line 66:
If your date field in the database is nullable (not marked as NOT NULL), you can change your datatype in C# to a nullable DateTime:
Now you can pass (and retrieve) a null value to/from the database.