2

私のC#プロジェクトでも同じ問題が発生し続けています。datetime を SQL テーブルに挿入しようとしましたが、トルコで。日付は常に DD.MM.YYYY です。C# または SQL は、アメリカ式のように MM.DD.YYYY を挿入しようとすることがあります。

この問題を永遠に解決するにはどうすればよいですか?

ここにコード例があります

string selectSql = @"INSERT INTO [RN_VEHICLES_GUEST_INOUT] ([PLAKA],[MY_DATE])  
                     VALUES(@PLAKA,@MY_DATE)

cmd.Parameters.Add("@PLAKA", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);

cmd.Parameters["@PLAKA"].Value = txtPlaka.Text.ToString();
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue.ToString();

このコードは今日まで機能していましたが、今日は 13.07.2013 であり、MM.DD.YYYY として挿入しようとするため、今日クラッシュします。昨日は2012年7月12日でしたが、12を月として変換できましたが、13を変換できなかったため、問題はありませんでした。それが問題に気付いた方法です。

C# と SQL が常に DD.MM.YYYY 形式で動作するようにするにはどうすればよいですか?

4

1 に答える 1

9

それDateTimeがデータベースのフィールドであり、DateTimeC# の変数である場合、なぜそれを aStringに変換するのですか?

だから代わりに

cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue.ToString();

ただ

cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue;

(それが であると仮定しdateGelisTarihi.EditValueDateime)

于 2013-07-13T11:30:53.310 に答える