Date Java - Insertion dans une base de données
Pour insérer un enregistrement avec un champ java.util.Date dans une base de données, vous allez besoin d'utiliser java.sql.PreparedStatement avec un java.sql.Date ou java.sql.Timestamp.
Code et problème d'origine
Le problème avec votre code d'origine est que vous essayez d'insérer un java.util.Date directement dans la base de données sous forme de chaîne. Au lieu de cela, vous devez convertir le java.util.Date en java.sql.Date et utiliser une instruction préparée pour insérer la valeur :
java.util.Date en java.sql.Date
java.util.Date myDate = new java.util.Date("01/01/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
Préparé Déclaration
sb.append("INSERT INTO USERS"); sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, CRDATE) "); sb.append("VALUES ( "); sb.append("?, ?, ?, ?, ?"); sb.append(")"); Connection conn = ...; // get the connection somehow 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);
Avantages
L'utilisation d'une instruction préparée offre plusieurs avantages :
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!