C#日期时间默认值发布01/01/0001 00:00:00
我在将日期时间插入数据库时遇到问题,错误如下:C#日期时间默认值发布01/01/0001 00:00:00,c#,sql,visual-studio-2010,datetime,C#,Sql,Visual Studio 2010,Datetime,我在将日期时间插入数据库时遇到问题,错误如下: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. 我知道SQL日期必须在1/1/1753 12:00:00 am和12/31/9999之间,但是我的日期似乎保持在01/01/0001 00:00:00 我在web服务方法中定义了以下日期: [DataMember] public DateTime RecordTime
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
我知道SQL日期必须在1/1/1753 12:00:00 am和12/31/9999之间,但是我的日期似乎保持在01/01/0001 00:00:00
我在web服务方法中定义了以下日期:
[DataMember]
public DateTime RecordTimeStamp { get; set; }
这在下面的代码中用于添加到数据库中
sqlComm.Parameters.Add("@RecordTimeStamp", SqlDbType.DateTime).Value = pCustomer.RecordTimeStamp;
此代码从带有代码的aspx页面获取其值
DateTime now = DateTime.Now;
pCustomer.RecordTimeStamp = now;
我试图让它将当前日期插入数据库,但它似乎没有改变默认值 尝试更改属性 发件人: 致:
希望这能解决这个问题。发生的情况是DateTime不是NULL数据类型,它强制将默认值放在那里(01/01/0001),以确保提交非NULL日期。我不知道为什么它不接受修改后的值并抛出“超出范围”的异常。这是您可能需要进一步研究的问题。FWIW,您得到的值是字段。。。和用于未分配的
DateTime
变量。这是从DateTime dt=new DateTime()得到的。网页和web服务之间的关系是什么?是否将对象提交到web服务?您的错误表明该值在某个点丢失,因此该字段正在使用其默认值。。。或者存储过程实际上没有使用该参数。这是ms sql 2008还是更高版本?如果ms sql 2005,则其仅接受日期
格式错误未成功设置pcCustomer.RecordTimeStamp的日期
[DataMember]
public DateTime RecordTimeStamp { get; set; }
[DataMember]
public DateTime? RecordTimeStamp { get; set; }