C#DateTime默认值发布日期:01/01/0001 00:00:00
本文关键字:0001 日期 默认值 布日期 C#DateTime | 更新日期: 2023-09-27 17:58:25
我在将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是NOT NULL数据类型,它强制在那里放置一个默认值(01/01/0001),以确保提交非NULL日期。我不知道为什么它不接受更改后的值并抛出一个"超出范围"的异常。这是你可能想要进一步调查的事情。