2011-12-14 8 views
3

私は.NET 3.5とSQL Server 2005でアプリケーションを持っています。.NETとSQL Server 2005の最小日付互換性の方法

ユーザーに日付を求められるインスタンスがたくさんあります。

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

、私はエラーをドリルダウンすると、私は.NETは01/01/0001からSQL Serverのに対し12/31/9999に日付をサポートしていることが見つかりました:そこ私は、ユーザーが01/01/1753未満の日付を入力するたびに、次のエラーを与えるというエラーを検出しました2005年は01/01/1753から12/31/9999の日付範囲をサポートしています。

今、私は最小の日付のために私のアプリケーションをチェックインする必要があります。

しかし、問題は私が多くのインスタンスで実装する必要があるため、より良い解決策を見つけることです。

この日付の問題を処理するには、他の誰かに私に言えますか?アドバンス

+0

を取得するためにあなたを助けるかもしれないが今、あなたは '01/01/1753'と分の日付をしたいですすべてのインスタンスのために? – asma

+0

アプリケーションをSQL Serverの最小日付に制限します。 –

+0

はい私は最小の日付を01/01/1753にして、アプリケーションがクラッシュしないようにします。 –

答えて

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(); 
+0

それは私に大きな助けになるかもしれません。ありがとう@マグヌス –

関連する問題