簡體   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