Tôi đã có đối tượng ngày giờ không có giá trị trong C#.Ngày giờ dễ vỡ và Cơ sở dữ liệu
DateTime? StartDate = new DateTime();
sau đó tôi kiểm tra một người sử dụng gửi giá trị để xác định xem một ngày áp dụng đối với hồ sơ này:
if (Complete == "N/A")
{
StartDate = null;
}
Bây giờ tôi đến truy vấn của tôi mà có thể hoặc không thể được chèn một datetime null:
using (SqlCommand command = new SqlCommand(updateSql, db))
{
command.Parameters.Add("@Date_Started", SqlDbType.DateTime).Value = StartDate;
}
Như bạn có thể mong đợi nếu ngày bắt đầu bằng không thì tôi gặp lỗi là loại không chính xác. Cách tốt nhất để tiến hành từ đây là gì?
Tôi đã xem xét việc kiểm tra ngày bắt đầu là không có nhưng tôi không chắc chắn cách thực hiện điều đó khi loại không thể thực hiện được.
Là một sang một bên, bạn có thể dễ dàng kiểm tra xem một loại nullable là null theo hai cách. 1) '! StartDate.HasValue', hoặc 2) Đơn giản chỉ cần' StartDate == null' – Ray