ホームページ > Java > &#&チュートリアル > 準備されたステートメントで「setDate()」と「setTimestamp()」を正しく使用するにはどうすればよいですか?

準備されたステートメントで「setDate()」と「setTimestamp()」を正しく使用するにはどうすればよいですか?

DDD
リリース: 2024-12-04 11:23:11
オリジナル
983 人が閲覧しました

How to Correctly Use `setDate()` and `setTimestamp()` in Prepared Statements?

PreparedStatement での setDate の使用

コーディング標準に準拠するには、プリペアド ステートメントを利用して変数をバインドするようにコードを更新する必要があります。 SQL 変数をハードコーディングするのではなく。ただし、setDate() メソッドで問題が発生しました。

これを解決するには、次のガイドラインに従う必要があります:

java.sql.Date

テーブルに DATE がある場合列:

  • java.lang.String:
    java.sql.Date.valueOf(java.lang.String) メソッドを使用し、「」に文字列を指定します。 yyyy-[m]m-[d]d" format.
  • java.util.Date:
    java.util.Date 変数 endDate がある場合は、ps.setDate(2, new) を使用して変換します。 java.sql.Date(endDate.getTime()));.
  • Current:
    現在の日付を挿入するには、ps.setDate(2, new java.sql. Date(System.currentTimeMillis()));または ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now())); (Java 8 以降)。

java.sql.Timestamp の使用

TIMESTAMP または DATETIME の場合columns:

  • java.lang.String:
    「yyyy-」のタイムスタンプを持つ java.sql.Timestamp.valueOf(java.lang.String) メソッドを使用します。 [m]m-[d]d hh:mm:ss[.f...]" format.
  • java.util.Date:
    ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()) を使用して java.util.Date 変数を変換します);.
  • 現在:
    を取得します。 ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis())); を使用した現在のタイムスタンプまたは ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())); (Java 8 以降).

以上が準備されたステートメントで「setDate()」と「setTimestamp()」を正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート