En passant java.sql.Date de la requête sql
C'est une partie de mon code
java.sql.Date d1=java.sql.Date.valueOf("2011-03-02");
java.sql.Date d2=java.sql.Date.valueOf("2011-03-10");
java.sql.Date systemDate=java.sql.Date.valueOf("2011-03-04");
String sql="select id from period where '"+systemDate+"' between '"+d1+"' and '"+d2+"'";
C'est mon code. Je veux obtenir l'id qui se situe entre ces dates. Mais je ne suis pas d'obtenir le résultat souhaité. Je suis de retour tous les id de la table.
Vous devez vous connecter pour publier un commentaire.
Avez-vous de bons résultats lorsque vous utilisez d'autres outils SQL (comme pgadmin pour PostgreSQL ou SQL Developer pour Oracle)?
Est alors essayez d'utiliser PreparedStatement. Dans votre cas, cela va ressembler à:
Vous n'êtes pas à l'aide d'un champ à partir de votre tableau pour comparer avec une plage de dates.
Ce que vous avez à faire est de vérifier si le 04-03-2011 est entre 02-03-2011 et 10-03-2011, ce qui est vrai pour chaque enregistrement.
Ce que vous voulez faire est quelque chose comme ceci (en supposant date_debut est une colonne de votre tableau):
(Aussi, je suis d'accord avec la réponse ci-dessus que les instructions préparées sont une meilleure façon de construire des requêtes.)