Salut, je suis particuliérement débutant en JAVA mais j'ai déjà fait des connection avec mySQL par php...
Je veux donc lire des donnée d'une BDD MySQL sur un serveur local par JAVA.
J'utilise dons un super bouquin et j'arrive à faire tout ce que je veux sans problème jusqu'à ce que je fasse des preparedStatement...
J'en fais avec des ? qui sont remplacé gràce à setInt et ça marche bien genre :
Et ça marche trés bien mais quand je veux utiliser un setString pour seter le ? de ma requete, j'ai un problème vraiment débile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 PreparedStatement requeteModele1 = lien.prepareStatement ("SELECT * FROM `types` WHERE numero=?"); requeteModele1.setInt (1,21); // settage de la valeur ? du dessus System.out.println (requeteModele1); ResultSet resultat = requeteModele1.executeQuery (); while (resultat.next()) { System.out.println (resultat.getString ("numero")+" -> "+resultat.getString ("nom")); }
j'ai une exception SQL : You have an error in your SQL syntax
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 PreparedStatement requeteModele1 = lien.prepareStatement ("SELECT * FROM ?"); requeteModele1.setString (1,"TYPES");
Le problème, c'est que setString met des ' autour de TYPES dans la requete générée et qu'il faudrait plutôt des `... C'est cette petite différence qui fait que ça marche pas.
Comment pourrais je faire pour que setString (); entoure mes chaines de ces guillemets spéciaux ou de rien au lieu de mettre ce simple quote qui me crée une erreur de syntaxe ?
Ou bien sinon, y a t il un moyen de faire que mySQL accepte la syntaxe avec simple quote ?
Je rappelle que je me suis mis à JAVA hier en suivant un bouquin étape par étape sans toujours trés bien comprendre... Je pense qu'il s'agit d'un probléme avec JDBC ou le driver entre JDBC et MySQL... je ne sais pas trop où se trouve la methode setString ().
Je travaille avec :
Eclipse SDK 3.1.1
jre 1.5.0_06
EasyPhP 1.8
et donc MySQL 4.1.9
meon driver JDBC et le dernier telechargeable du site mySQL : mysql-connector_java-5.0.3
Ca me fait me dire que je devrait peut être mettre à jour le mySQL de EasyPhP...
Partager