Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengelakkan Ralat Sintaks Apabila Memasukkan Tarikh Java ke dalam Pangkalan Data?

Bagaimana untuk Mengelakkan Ralat Sintaks Apabila Memasukkan Tarikh Java ke dalam Pangkalan Data?

DDD
DDDasal
2025-01-06 11:23:43365semak imbas

How to Avoid Syntax Errors When Inserting Java Dates into a Database?

Memasukkan Java Date ke dalam Pangkalan Data

Apabila cuba memasukkan rekod dengan medan java.util.Date ke dalam pangkalan data, anda boleh menghadapi ralat sintaks yang salah. Isu ini boleh diselesaikan dengan menukar objek Date kepada jenis data SQL yang sesuai, seperti java.sql.Date atau java.sql.Timestamp.

Untuk memasukkan objek java.util.Date anda, langkah berikut disyorkan:

  1. Tukar objek java.util.Date kepada data serasi SQL taip:
java.util.Date myDate = new java.util.Date("01/01/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
  1. Gunakan java.sql.PreparedStatement untuk memasukkan data:
sb.append("INSERT INTO USERS");
sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) ");
sb.append("VALUES (?, ?, ?, ?, ?)");

Connection conn = ...;
PreparedStatement stmt = conn.prepareStatement(sb.toString());

stmt.setString(1, userId);
stmt.setString(2, myUser.GetFirstname());
stmt.setString(3, myUser.GetLastname());
stmt.setString(4, myUser.GetSex());
stmt.setDate(5, sqlDate);

stmt.executeUpdate();

Dengan menggunakan java.sql.PreparedStatement dan Jenis data yang serasi SQL untuk medan Tarikh anda, anda boleh berjaya memasukkan rekod ke dalam pangkalan data tanpa menemuinya ralat sintaks. Selain itu, menggunakan PreparedStatement memastikan pelepasan rentetan yang betul, menghalang potensi kelemahan keselamatan.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat Sintaks Apabila Memasukkan Tarikh Java ke dalam Pangkalan Data?. 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