Frage:
Beim Versuch tritt ein Fehler auf Fügen Sie einen Datensatz mit einem java.util.Date-Feld in eine Datenbank ein. Der Fehler besagt: „Die Syntax der Zeichenfolgendarstellung eines Datums-/Uhrzeitwerts ist falsch.“ Wie kann ich dieses Problem lösen?
Lösung:
Um ein java.util.Date-Feld in eine Datenbank einzufügen, sollten Sie zunächst die Verwendung einer objektrelationalen Zuordnung ( ORM)-Lösung wie Hibernate zum Abstrahieren von SQL-Abfragen. Wenn dies jedoch nicht möglich ist, können Sie die folgenden Schritte ausführen:
Beispiel:
java.util.Date myDate = new java.util.Date("10/10/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime()); Connection conn = ...; // Obtain the database connection String sql = "INSERT INTO USERS (USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) VALUES (?, ?, ?, ?, ?);"; PreparedStatement stmt = conn.prepareStatement(sql); 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(); // Execute the SQL query
Dieser Ansatz wird automatisch maskiert Zeichenfolgen und verhindert SQL-Injection-Schwachstellen.
Das obige ist der detaillierte Inhalt vonWie füge ich java.util.Date-Felder richtig in eine Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!