J'ai une table Oracle nommée "DOSSIER" qui contient (entre autres) ceci :
les colonnes ETAT et NOM sont des VARCHAR2(50) et la colonne DATE et de type DATE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ETAT NOM DATE -------- ---- ---------- TERMINE toto 20/01/2009 TERMINE toto 20/01/2009
Lorsque je fais une requête paramétrée seulement sur les colonnes ETAT et NOM, ça marche très bien :
Dans mon result, j'ai bien les 2 resultats qui sont en base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // initialisation de la connexion (marche bien) final Connection cnx = getConnection(); // requete a executer final String query = "select doss.ETAT, doss.NOM, doss.DATE from DOSSIER where doss.ETAT = ? AND doss.NOM = ?"; final PreparedStatement statement = cnx.prepareStatement(query); // initialisation des parametres statement.setString(1, "TERMINE"); statement.setString(2, "toto"); final ResultSet result = statement.executeQuery();
Mais si j'ajoute le paramètre de type Date, alors la requête ne fonctionne plus :
La requête ne renvoie aucun resultat, alors que pourtant la condition se fait sur la bonne colonne et la date passée en paramètre est bien la même que la date en base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 final SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy"); final java.util.Date date = formater.parse("20/01/2009"); final java.sql.Date sqlDate = new java.sql.Date(date.getTime()); // initialisation de la connexion (marche bien) final Connection cnx = getConnection(); // requete a executer final String query = "select doss.ETAT, doss.NOM, doss.DATE from DOSSIER where doss.ETAT = ? AND doss.NOM = ? AND doss.DATE = ?"; final PreparedStatement statement = cnx.prepareStatement(query); // initialisation des parametres statement.setString(1, "TERMINE"); statement.setString(2, "toto"); statement.setDate(3, sqlDate); final ResultSet result = statement.executeQuery();
Quelqu'un aurait-il une idée car la je seche ?
Merci d'avance
Partager