Bonsoir à tous,
J'écris en ce moment un petit programme en java qui permet de lire et de modifier des bases de données mysql.
A un moment j'utilise un PreparedStatement pour effectuer des requêtes UPDATE en boucle. J'ai donc le code suivant :
Rien de bien compliqué me direz-vous! Seulement quand j'exécute mon programme j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 while(rset1.next()){ PreparedStatement requeteDelete = conn2. prepareStatement ("UPDATE ? SET ? = ? WHERE ? = ?"); requeteUpdate.setString(1,nomTableDest); requeteUpdate.setString(2,col2); requeteUpdate.setString(3,rset1.getString(2)); requeteUpdate.setString(4,col1); requeteUpdate.setString(5,rset1.getString(1)); requeteUpdate.executeUpdate(); }
java.sql.SQLException: Syntax error or access violation message from server: "Erreur de syntaxe près de ''tabletest2' SET 'champ2' = 'champ1table1' WHERE 'cle2' = '1'' à la ligne 1"
Après plusieurs tests j'ai l'impression que mon problème vient des cotes qui sont ajoutées autour de chaque champ car quand j'écris ma requête en entier cela fonctionne. Comment se fait-il qu'il y ait ces cotes de rajoutées et est-il possible de les supprimer pour que la syntaxe de ma requête soit alors correcte?
Voilà j'espère m'être clairement exprimé et je vous remercie par avance!
Partager