我有一个DatePicker,我试图将其值插入到SQL Server表的 Date 字段中。
tbl_leave_student updateStdLeave = new tbl_leave_student{
leave_from=Convert.ToDateTime( dpLeaveFromStd.SelectedDate.GetValueOrDefault())
};
db.tbl_leave_students.InsertOnSubmit(updateStdLeave);
db.SubmitChanges();
这给出了带有消息
的格式异常输入字符串的格式不正确
我尝试在没有Convert.ToDateTime
和dpLeaveFromStd.SelectedDate (without the .GetValueOrDefault())
的情况下插入,但也遇到了同样的错误。有什么理由吗?
答案 0 :(得分:1)
你可以这样做
leave_from = dpLeaveFromStd.SelectedDate ?? DateTime.Now;
答案 1 :(得分:0)
你应该总是使用D ateTime.TryParseExact。
string[] formats = { "dddd, dd MMMM yyyy" }; //your format here
DateTime dt;
if (DateTime.TryParseExact(dpLeaveFromStd.SelectedDate.GetValueOrDefault(), formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
}
答案 2 :(得分:0)
我猜你使用的是Nullable DatePicker,可能你会得到一个空值,
所以你应该尝试将代码修改为
leave_from = dpLeaveFromStd.SelectedDate.GetValueOrDefault(DateTime.Now);
因此,如果值为null,则将其设置为今天的默认值