繁体   English   中英

C#DateTime默认值Issue 01/01/0001 00:00:00

[英]C# DateTime Default Value Issue 01/01/0001 00:00:00

我在将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 RecordTimeStamp { get; set; }

这在以下代码中用于添加到数据库中

  sqlComm.Parameters.Add("@RecordTimeStamp", SqlDbType.DateTime).Value = pCustomer.RecordTimeStamp;

此代码从带有代码的aspx页面获取其值

  DateTime now = DateTime.Now;
  pCustomer.RecordTimeStamp = now;

我试图让它将当前日期插入数据库,但它似乎没有从默认值更改。

尝试更改属性

从:

 [DataMember] public DateTime RecordTimeStamp { get; set; } 

至:

 [DataMember] public DateTime? RecordTimeStamp { get; set; } 

希望这将解决问题。 会发生什么是DateTime是非NULL数据类型,它强制在那里放置一个默认值(01/01/0001)以确保将提交非空日期。 我不知道为什么它不接受改变的值并抛出“超出范围”的异常。 这是您可能想要进一步调查的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM