2011-12-14 50 views
3

我在.NET 3.5和SQL Server 2005中有一個應用程序。如何使最小日期兼容.NET和SQL Server 2005

我的應用程序中有很多實例需要用戶詢問日期。在那裏,我發現,只要用戶輸入的日期小於01/01/1753它提供了以下錯誤的錯誤:

SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

的時候,我鑽到錯誤,我發現.NET支持從01/01/000112/31/9999而SQL Server的日期2005支持的日期範圍爲01/01/175312/31/9999

現在我需要檢查我的應用程序的最短日期。

但問題是我必須在很多實例上實現它,所以找到一些更好的解決方案。

任何人都可以通過其他方式來處理這個日期問題。

由於提前

+0

現在你想分鐘日期`01/01/1753`所有實例? – asma 2011-12-14 09:55:26

+0

將應用程序限制爲SQL Server最短日期。 – 2011-12-14 09:57:57

回答

5

或許,這可以幫助你得到一個有效的SQL的DateTime容易

public static class Extensions 
{ 
    public static DateTime AsSqlValue(this DateTime date) 
    { 
     if(date < SqlDateTime.MinValue.Value) 
      return SqlDateTime.MinValue.Value; 
     return date; 
    } 
} 

使用

MyDateTime.AsSqlValue();