4

如果 DateEdit(dev express C# windows 应用程序控件)editvalue 为空,我想为 dateTime 字段保存空值。

如果 dateEdit 控件有一个编辑值,它保存选定的日期。如果它为空,它保存一个默认日期但是如果 dateEdit 值为空,我想保存空值。

示例代码:我正在使用实体框架,

Orders ord= new Orders();
ord.OrderDate= dateEdit1.DateTime;**//here i want to save null value if the dateEdit control value is null** 
Objcontext.Orders.AddObject(ord);
Objcontext.SaveChanges();
4

5 回答 5

2

你在用ADO Command with Parameters吗?如果是这样,那么试试这个

// other codes here
command.AddWithValue("@paramName",  (dateEdit.EditValue == null) ? DBNull.Value : dateEdit.EditValue);

dateEdit ControlDevExpress 组件对吗?

或尝试

Orders ord = new Orders();
ord.OrderDate = (dateEdit1.DateTime == null ? DBNull.Value : dateEdit1.DateTime); //here i want to save null value if the dateEdit control value is null 
Objcontext.Orders.AddObject(ord);
Objcontext.SaveChanges();

在此处输入图像描述

于 2012-09-07T06:33:58.360 回答
0

您应该将 Field 属性设置为 NULL 以接受 NULL 值。否则它将像“0000-00-00”一样保存。

于 2012-09-07T06:38:16.203 回答
0

使用 Nullable 类型:

DateTime ? nullableDate = GetSomeDate();

这也适用于其他值类型。

还有一个 DBNull 类可能对此类操作有所帮助。使用可能是这样的:

sqlCommand.Parameters.AddWithValue("created",nullableDate??DBNull.Value);

或类似的。从 .NET Framework 4 开始,MS 希望我们为空值传递 DBNull.Value。

于 2012-09-07T06:40:09.673 回答
0

为您的 DateEdit 存储空 DateTime 可能会有所帮助。

DateTime? DateEdit = null;
于 2012-09-07T06:55:26.187 回答
0
Orders ord = new Orders();

if(dateEdit1.EditValue!=null)

{ord.OrderDate = dateEdit1.DateTime.Date}

else

{ord.OrderDate= null}

dateEdit control value is null 
Objcontext.Orders.AddObject(ord);
Objcontext.SaveChanges();

现在,我null可以DateTimeDateEdit.

于 2012-09-07T07:22:28.263 回答