


Menggunakan setDate dalam PreparedStatement
Untuk menyeragamkan pangkalan kod kami, kami telah ditugaskan untuk mengalihkan semua kejadian pembolehubah SQL berkod keras kepada penyataan yang disediakan dengan pembolehubah terikat. Walau bagaimanapun, kami telah menghadapi masalah dengan kaedah setDate().
Coretan kod yang disediakan adalah seperti berikut:
DateFormat dateFormatYMD = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); DateFormat dateFormatMDY = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date now = new Date(); String vDateYMD = dateFormatYMD.format(now); String vDateMDY = dateFormatMDY.format(now); String vDateMDYSQL = vDateMDY; java.sql.Date date = new java.sql.Date(0000-00-00); requestSQL = "INSERT INTO CREDIT_REQ_TITLE_ORDER (REQUEST_ID," + " ORDER_DT, FOLLOWUP_DT) " + "values(?,?,?,)"; prs = conn.prepareStatement(requestSQL); prs.setInt(1, new Integer(requestID)); prs.setDate(2, date.valueOf(vDateMDYSQL)); prs.setDate(3, date.valueOf(sqlFollowupDT));
Setelah melaksanakan pertanyaan SQL, ralat berikut ialah ditemui:
java.lang.IllegalArgumentException at java.sql.Date.valueOf(Date.java:138) at com.cmsi.eValuate.TAF.TAFModuleMain.CallTAF(TAFModuleMain.java:1211)
Penyelesaian
Kaedah setDate() memerlukan nilai tarikh yang sah. Dalam kes ini, kami telah menetapkannya kepada new java.sql.Date(0000-00-00), iaitu tarikh yang tidak sah.
Untuk menyelesaikan isu ini, penyelesaian berikut boleh dipertimbangkan:
Menggunakan java.sql.Date
Jika lajur jadual mempunyai jenis DATE, pilihan berikut tersedia:
-
java.lang.String: Gunakan java.sql.Date.valueOf(java.lang. String) untuk menghuraikan rentetan tarikh dalam format yyyy-[m]m-[d]d, cth.:
ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));
-
java.util.Date: Tukar objek java.util.Date menggunakan java.sql.Date(endDate.getTime() baharu ), cth.:
ps.setDate(2, new java.sql.Date(endDate.getTime()));
- Semasa: Gunakan java.sql.Date(System.currentTimeMillis()) untuk memasukkan tarikh semasa atau java.sql.Date.valueOf (java.time.LocalDate.now()) dalam Java 8 dan di atas.
Menggunakan java.sql.Timestamp
Jika lajur jadual mempunyai jenis TIMESTAMP atau DATETIME, pilihan berikut ialah tersedia:
-
java.lang.String: Gunakan java.sql.Timestamp.valueOf(java.lang.String) untuk menghuraikan rentetan tarikh dalam format yyyy -[m]m-[d]d hh:mm:ss[.f…], cth.:
ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00"));
-
java.util.Date: Tukar objek java.util.Date menggunakan java.sql.Timestamp(endDate.getTime() baharu ), cth.:
ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
- Semasa: Gunakan java.sql.Timestamp(System.currentTimeMillis()) baharu, java.sql.Timestamp.from(java.time.Instant .sekarang()), atau java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()) dalam Java 8 dan ke atas untuk memasukkan cap masa semasa.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan setDate() dengan betul dalam PreparedStatements untuk Mengelakkan `java.lang.IllegalArgumentException`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini ketergantungan

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Node.js 20 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan

Artikel ini meneroka kaedah untuk berkongsi data antara langkah -langkah timun, membandingkan konteks senario, pembolehubah global, lulus argumen, dan struktur data. Ia menekankan amalan terbaik untuk mengekalkan, termasuk penggunaan konteks ringkas, deskriptif


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Dreamweaver Mac版
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
