ASP.Net アプリケーションがあります。バックエンドでMySqlを使用しています。そして3つ質問があります。
MySql に BeginDate というフィールドがあり、DataType: Date です。2012-06-17の形式で DB に書き込まれます。
select ステートメントを書き、フォームビューのテキスト ボックスに日付を入れると、形式が次のように変わります: 06/17/2012 12:00:00 AM
日付を更新しようとすると、行 1 の日付の形式が間違っているというエラーが表示されます。
けっこうだ。DB に保存されているのと同じ形式で入力します: 2012-06-17。
そして、アップデートは機能します。
私が混乱しているのは、フォーマットが2012-06-17の DB である場合です。
なぜasp.netはそれをひっくり返して次のようにフォーマットするのですか: 06/17/2012 12:00:00 AM、明示的に指示せずに。また、元の DB 形式に戻らないのはなぜですか?
2012 年 6 月 17 日、この形式を受け入れてエラーが発生しないように Mysql に指示するにはどうすればよいですか?
- テキスト ボックスに表示されているタイム スタンプを切り詰める必要があります。欲しいのは日付だけ。
注記を追加しました。日付は、Ajax コントロール カレンダー ピッカーによって設定されています。このピッカーは、タイム スタンプなしで 06/17/2012 にフォーマットします。それが私が欲しいものです。
**編集これが私の更新コマンドとパラメーターです:
Update discount set DiscountPromotionalID = @DiscountPromotionalID,
isActive =@isActive, Title = @Title, BeginDate = @BeginDate, EndDate = @EndDate,
DiscountPercentage = @DiscountPercentage
where DiscountPromotionalID = @DiscountPromotionalID;"
<UpdateParameters>
<asp:Parameter Name="oDiscountPromotionalID" Type="Int32" />
<asp:Parameter Name="oisActive" Type="Object" />
<asp:Parameter Name="oTitle" Type="String" />
<asp:Parameter Name="oBeginDate" Type="DateTime" />
<asp:Parameter Name="EndDate" Type="DateTime" />
<asp:Parameter Name="oDiscountPercentage" Type="Decimal" />
</UpdateParameters>