tôi có một cột datetime trong máy chủ sql và trường tùy chọn của nó và nếu người dùng quyết định không nhập thì tôi muốn chèn giá trị như NULL trong bảng và tôi định nghĩa như sau:vấn đề datetime với 01/01/1900
@deadlineDate datetime = null
khi tôi đang chèn vào máy chủ sql i có mã này trong asp.net
private DateTime? GetDeadlineDate()
{
DateTime? getDeadlineDate = null;
if (!string.IsNullOrEmpty(DeadlineDate.SelectedDate))
{
getDeadlineDate = DateTime.Parse(DeadlineDate.SelectedDate).Date;
}
if (!getDeadlineDate.HasValue)
{
return null;
}
return getDeadlineDate.Value;
}
nhưng vấn đề là: chèn nó
1900-01-01 00:00:00.000
trong bảng sql thay vì NULL
những gì tôi đang làm sai ở đây?
UPDATE:
private DateTime? GetDeadlineDate()
{
DateTime? getDeadlineDate = null;
if (!string.IsNullOrEmpty(DeadlineDate.SelectedDate))
{
getDeadlineDate = DateTime.Parse(DeadlineDate.SelectedDate).Date;
}
if (!getDeadlineDate.HasValue)
{
return DBNull.Value; //throws error....
}
return getDeadlineDate.Value;
}
Nisar, cập nhật của bạn không hoạt động vì 'DBNull.Value' là loại' DBNull', không phải 'DateTime? '. Tôi nghĩ bạn đã bối rối. –
Hãy nhớ rằng, trong khối mã đầu tiên, 5 dòng cuối cùng của phương thức tương đương với 'return getDeadlineDate;'. –