最近、Windows 7とSQL Server 2008 R2の新規インストールにWebアプリケーションをコピーしました。アプリケーションはLINQ to SQLを使用します。行のどこかで、POSTされた日付文字列の解析が失敗しました。ユーザーが4/23/2011
のような日付文字列を入力すると、アプリケーションはそれを拒否し、エラーを返しますThe value '04/23/2011' is not valid for Due.
Due(実際にDueDate)はSQL ServerのDateTimeフィールドです。Windows 7/.NET/SQL Serverで日付形式を設定する
これは正常に動作するために使用されました。マシンのOSの国際化設定に問題があると思ったので、短く長い日付の形式はそれぞれMM/dd/yyyy
とdddd, MMMM dd,yyyy
に設定されていますが、これは問題ありません。 SQL Serverデータベース言語は英語に設定されています。
このプロパティの部分クラスは次のようになります。私は微調整する必要がある別の日付形式の設定
[DisplayName("Due")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? DueDate { get; set; }
がなければなりません。どこを探していますか?
注:これはもっと正確にはserverfaultの質問かもしれませんが、devsはシステム管理者よりもこの問題に遭遇する可能性が非常に高いと思います。
さらに詳しい情報:SP_CONFIGURE 'default language'
戻り値:
default language 0 9999 0 0
:私は使用していたデータベースログインのデフォルトの言語は英語です。
これはどこで拒否されますか? SQL Serverまたは前に ' – gbn
のようになります(LINQ To SQLによって私は推測します)。私はクエリを行うことができますまたは '2011年4月23日'を使用して生のSQLで直接更新し、それは正常に動作します。 – RedFilter