Insérer une date Java dans une base de données
Lorsque vous essayez d'insérer un enregistrement avec un champ java.util.Date dans une base de données, vous pouvez rencontrez une erreur de syntaxe incorrecte. Ce problème peut être résolu en convertissant l'objet Date en un type de données SQL approprié, tel que java.sql.Date ou java.sql.Timestamp.
Pour insérer votre objet java.util.Date, les étapes suivantes sont recommandés :
java.util.Date myDate = new java.util.Date("01/01/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
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();
En utilisant java.sql.PreparedStatement et un Type de données compatible SQL pour votre champ Date, vous pouvez réussir à insérer l'enregistrement dans la base de données sans rencontrer d'erreurs de syntaxe. De plus, l'utilisation de PreparedStatement garantit un échappement correct des chaînes, évitant ainsi les vulnérabilités de sécurité potentielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!