Maison >Java >javaDidacticiel >Comment utiliser correctement `setDate()` et `setTimestamp()` dans les instructions préparées ?

Comment utiliser correctement `setDate()` et `setTimestamp()` dans les instructions préparées ?

DDD
DDDoriginal
2024-12-04 11:23:11985parcourir

How to Correctly Use `setDate()` and `setTimestamp()` in Prepared Statements?

Utilisation de setDate dans PreparedStatement

Pour respecter les normes de codage, votre tâche consiste à mettre à jour votre code pour utiliser des instructions préparées et lier des variables plutôt que de coder en dur des variables SQL. Cependant, vous avez rencontré un problème avec la méthode setDate().

Pour résoudre ce problème, les instructions suivantes doivent être suivies :

Utilisation de java.sql.Date

Si votre table a une DATE column:

  • java.lang.String:
    Utilisez la méthode java.sql.Date.valueOf(java.lang.String), en fournissant une chaîne dans le " aaaa-[m]m-[d]d" format.
  • java.util.Date :
    Si vous avez une variable java.util.Date endDate, convertissez-la en utilisant ps.setDate(2, new java.sql.Date (endDate.getTime()));.
  • Current :
    Pour insérer le courant date, utilisez ps.setDate(2, new java.sql.Date(System.currentTimeMillis())); ou ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now())); (Java 8 et versions ultérieures).

Utilisation de java.sql.Timestamp

Pour les colonnes TIMESTAMP ou DATETIME :

  • java.lang.String :
    Utilisez la méthode java.sql.Timestamp.valueOf(java.lang.String) avec des horodatages au format "aaaa-[m]m-[d]d hh:mm:ss[.f...]".
  • java.util.Date :
    Convertissez les variables java.util.Date à l'aide de ps.setTimestamp(2, nouveau java.sql.Timestamp(endDate.getTime()));.
  • Current :
    Obtenez l'horodatage actuel à l'aide de ps.setTimestamp(2, new java.sql.Timestamp( System.currentTimeMillis())); ou ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())); (Java 8 et versions ultérieures).

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