Bonjour à tous.
Voilà deux jours que je bute sur un simple probleme.
Je travaille avec une base Oracle 10g, j'utilise le jdbc fournit avec le CD client d'Oracle.
Mon problème survient lors de l'utilisation de la CLAUSE WHERE.
En effet ce bout de code:
fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PreparedStatement ps=conn.prepareStatement("UPDATE RLV_INDEX SET ETAT_ENREG=?, UTILMODIF=? WHERE ETAT_ENREG='STRING3'"); ps.setString(1, "STRING1"); ps.setString(2, "STRING2"); rc=ps.executeUpdate();
Par contre celui-ci
ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 PreparedStatement ps=conn.prepareStatement("UPDATE RLV_INDEX SET ETAT_ENREG=?, UTILMODIF=? WHERE ETAT_ENREG=?"); ps.setString(1, "STRING1"); ps.setString(2, "STRING2"); ps.setString(3, "STRING3"); rc=ps.executeUpdate();
Que je fasse des select (avec un executequery) ou des updates, ou des delete le passage d'un String à la clause where via un setString ne fonctionne pas.
Attention quand je dis ne fonctionne pas, c'est qu'il ne me retourne aucun champ lors d'un select ou qu'il ne me fait aucune modif lors d'un update. Or l'autre méthode (avec le string en dur dans la requête), elle m'affiche bien les champs voulu ou me font bien les bonnes modifs.
Je ne comprend vraiment pas d'où cela peut provenir, j'en appelle aux professionnels des BD via jdbc. Car dans ma boite personne n'a pu trouvé la solution.
Ah oui, j'utilise une JDK 1.5.
Partager