0

日付を DD/MM/YYYY の形式でテキスト ボックスに入れる JQuery 日付ピッカーがあります。

これを MM/DD/YYYY として日付を受け入れる必要がある SQL Server 2008 に保存しようとしています。これを正しく機能させるには、どのように日付をフォーマットすればよいですか?

これはクエリに my パラメーターを追加するコードです。これにより、日と月が逆になるためエラーが発生します。

 TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
 SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", fixtureDateTextBox.Text);
4

5 に答える 5

4

決して、入力テキストをパラメータに直接挿入することは絶対にしないでください。これが、セキュリティの脆弱性と穴が多すぎる根本的な原因ですDateTimeOffsetを呼び出して、最初にオブジェクトへの入力を解析します(を使用することもできますDateTimeが、一般的にはオフセットを使用する方が適切です)DateTimeOffset.Parse(...)。次に、変更せずにパラメーターとして追加するだけです。

編集:私はあなたの質問を読み直しました、そして上記が間違っていない間、それはあなたの質問に対処するいくつかの重要なことを見逃していることに気づきました。代替フィールドに格納されているものから代替の日付形式を表示するように日付ピッカーを構成する方法については、以下を参照してください。

DateTime編集2:インスタンスを渡すことができるオーバーロードを使用してオブジェクトを解析する必要がありIFormatProviderます。実行しようとしていることを実行する方法の例については、http://msdn.microsoft.com/en-us/library/system.iformatprovider.aspxを参照してください。そうしないと、DateTime.Parse('13/3/2013')フォーマットが認識されないために失敗します。

DateTime.Parse('13/3/2013', new CultureInfo("en-GB").DateTimeFormat)入力ボックスでやりたいことです。

于 2013-03-22T17:34:18.517 に答える
2

最初に JQuery ピッカー形式を構成できるはずであるという他の人々に同意しますが、できない場合は、これでうまくいくはずです。

TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
DateTime fixtureDate = DateTime.Parse(fixtureDateTextBox.Text, new CultureInfo("en-GB"));
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", fixtureDate.ToString(new CultureInfo("en-US"));
于 2013-03-22T17:40:18.093 に答える
0

これを試して:

TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
DateTime date = DateTime.Parse(fixtureDateTextBox.Text);
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", date);
于 2013-03-22T17:39:59.230 に答える
0

名前空間セクションに追加します。using System.Globalization;

次に、入力日付を次のように解析します。

string DB_Date = (DateTime.Parse(fixtureDateTextBox.Text)).ToString(new CultureInfo("en-US"));
于 2013-03-22T17:48:25.517 に答える
-1
  DateTime UKDate = Convert.ToDateTime(datepicker.Text);<br>
  string usDate= UKDate.ToString("dd-MM-yyyy");<br>
  SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", usDate);
于 2016-03-02T13:06:04.173 に答える