Maison >base de données >tutoriel mysql >Comment éviter les erreurs de syntaxe lors de l'insertion de dates Java dans une base de données ?

Comment éviter les erreurs de syntaxe lors de l'insertion de dates Java dans une base de données ?

DDD
DDDoriginal
2025-01-06 11:23:43341parcourir

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

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 :

  1. Convertir l'objet java.util.Date en données compatibles SQL tapez :
java.util.Date myDate = new java.util.Date("01/01/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
  1. Utilisez un java.sql.PreparedStatement pour insérer les données :
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn