Problème de Syntaxe SQL sous Netbeans

Meri -  
 Meri -
Bonjour,

je développe une classe Java sous Netbeans et avec MySQL Server 5.1, cette classe crée des tables et insert et surtout interroge la base de données, g un problème de syntaxe, avec cette instruction:
resultat=instruction.executeQuery("SELECT ARTICLE,MONTANT, FROM FACTURE" + "WHERE CLIENT='SOPHIE MARTIN'");

svp, g besoin d'aide, si vous avez la moindre proposition n'hésitez pas, merci!!!!

A voir également:

7 réponses

Giorgiolino Messages postés 270 Statut Contributeur 52
 
Bonjour,

qu'est-ce qui te fait dire qu'il s'agit d'un problème de syntaxe ? As-tu des messages d'erreurs ?
Si oui, les poster ne ferait pas de mal pour t'aider...
0
Meri
 
merci,
ben oui les messages d'erreur signalent une erreur de syntaxe, dans ça ='SOPHIE MARTIN'
voilà le message d'erreur:
Erreur JDBC: You have an error in your SQL syntax; check tje manual that corresponds to your MySQL server version for the right to use near '='SOPHIE MARTIN' ' at line 1
alors que je ne suis même pas à la première ligne bien sûr!!!
merci, c sympo!!!
0
Giorgiolino Messages postés 270 Statut Contributeur 52
 
Bien.

Je pencherais ici pour un problème de simples/doubles quotes.

Une vérification simple à faire : copie et exécute ta requête directement avec la console MySQL ou avec phpmyadmin si tu l'as. Tu n'oublieras pas de supprimer d'enlever le '+' entre autres bien sûr.
Tu devrais y voir plus clair.
0
Meri
 
Ok,
pas de soucis ca marche sur la console, et je te signale que dans le programme il n'y a pas de doubles quottes, c'est le message d'erreurs ki le signale entre quottes (donc ca double!!!)
voilà la portion de code sans superflu:
resultat=instruction.executeQuery("SELECT ARTICLE,MONTANT, FROM FACTURE WHERE CLIENT='SOPHIE MARTIN'");
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Giorgiolino Messages postés 270 Statut Contributeur 52
 
et je te signale que dans le programme il n'y a pas de doubles

Si au contraire. Les doubles quotes entourent les deux morceaux de ta requête que tu concatène. Par ailleurs tu insères la chaîne 'SOPHIE MARTIN' entre simples quotes. Le problème survient parfois lorsque simple et double quotes se suivent. Il est facile de les intervertir.

Ceci dit, je crois avoir trouvé le problème:
Il n'y a pas d'espace à la fin de la 1ère et au début de la deuxième chaîne concaténée.
Du coup, après concaténation, la requête que MySQL reçoit est la suivante:
SELECT ARTICLE,MONTANT, FROM FACTURE WHERECLIENT='SOPHIE MARTIN'


Rajoutes donc des espaces et ça devrait aller mieux.
0
Giorgiolino Messages postés 270 Statut Contributeur 52
 
Il n'y a pas d'espace à la fin de la 1ère et au début de la deuxième chaîne concaténée.
Du coup, après concaténation, la requête que MySQL reçoit est la suivante:
SELECT ARTICLE,MONTANT, FROM FACTURE WHERECLIENT='SOPHIE MARTIN'

Rajoutes donc des espaces et ça devrait aller mieux.

"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein
0
Meri
 
bonjour,
ben j'ai qu'un mot à te dire: MERCI, cété bête hein, ben cété ça il manquait l'espace, et tout mes problèmes sont résolus, ca m'apprend à etre plus attentive à ce que j'écris!!!
merci de t'être penché sur la question, tu n'étais pas obligé de te donner tant de mal, merci encore, c bien gentil, au revoir
PS: merci pr la citation, j'aime bien
0
Giorgiolino Messages postés 270 Statut Contributeur 52
 
Pas de quoi.

Tu as vu que parfois on avait besoin d'espace. Et pour appuyer une certaine pub je dirais même : "Et si l'espace était un luxe dont on ne pourrait se passer ?"

Bon courage pour la suite.
0
Meri
 
lol, cette fois ci oui des espaces j'en mettrais, dis mai g bo cherché cette pub ne vient pa à l'esprit, mai ca me di kelk chose!!!!
aller, bonne continuation à toi aussi
0