Menggunakan setDate dalam PreparedStatement
Untuk mematuhi piawaian pengekodan, tugas anda adalah untuk mengemas kini kod anda untuk menggunakan pernyataan yang disediakan dan mengikat pembolehubah dan bukannya pembolehubah SQL pengekodan keras. Walau bagaimanapun, anda telah menghadapi masalah dengan kaedah setDate().
Untuk menyelesaikan masalah ini, garis panduan berikut harus dipatuhi:
Menggunakan java.sql.Date
Jika jadual anda mempunyai TARIKH lajur:
-
java.lang.String:
Gunakan kaedah java.sql.Date.valueOf(java.lang.String), menyediakan rentetan dalam " yyyy-[m]m-[d]d" format.
-
java.util.Date:
Jika anda mempunyai pembolehubah java.util.Date endDate, tukarkannya menggunakan ps.setDate(2, new java.sql.Date (endDate.getTime()));.
-
Semasa:
Untuk memasukkan tarikh semasa, gunakan ps.setDate(2, new java.sql.Date(System.currentTimeMillis())); atau ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now())); (Java 8 dan kemudian).
Menggunakan java.sql.Timestamp
Untuk lajur TIMESTAMP atau DATETIME:
-
java.lang.String:
Gunakan kaedah java.sql.Timestamp.valueOf(java.lang.String) dengan cap masa dalam format "yyyy-[m]m-[d]d hh:mm:ss[.f...]".
-
java.util.Date:
Tukar pembolehubah java.util.Date menggunakan ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));.
-
Semasa:
Dapatkan cap masa semasa menggunakan ps.setTimestamp(2, new java.sql.Timestamp( System.currentTimeMillis())); atau ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())); (Java 8 dan kemudian).
Atas ialah kandungan terperinci Bagaimana Menggunakan `setDate()` dan `setTimestamp()` dengan betul dalam Penyata Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn