JPQL

Fermé
serenity - 17 avril 2012 à 11:37
 serenity - 17 avril 2012 à 16:24
Bonjour,

je viens de commencer à étudier le JPQL et je me demande comment puis-je récupérer la valeur d'un JField pour spécifier ma requête jpa

j'utilise par exemple :
query =" SELECT c FROM Customs c WHERE c.No = NoField.getText() "

mais ça ne marche ! comment puis-je faire ?

Merci d'avance



1 réponse

LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
Modifié par LeChikito le 17/04/2012 à 11:41
Il me semble qu'il y a un conflit entre le nom de la variable sélectionnée (SELECT c) avec le nom de la table (FROM Customs c).
Essaye de donner un autre nom à ta table (par exemple SELECT c FROM Customs cust WHERE cust.No = NoField.getText() )

Questions claires et recherches sur le net sont les deux clés de la réussite
LeChikito
0
J'utilise la même requête avec une autre valeur autre que NoField.getText() par exemple :
("SELECT c FROM Customs c WHERE c.No = 2)
et ça marche je ne pense pas que c'est un problème de conflit entre variables !
0
On m'affiche l'erreur suivante :


Syntax error parsing the query [SELECT c FROM Cdrrecord c WHERE c.callingNumber= MDNField.getText() ], line 1, column 66: unexpected token [(].
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
17 avril 2012 à 15:01
Essaye d'enregistrer la variable NoField.getText() dans une variable juste avant et de la mettre à la place
SELECT c FROM Customs c WHERE c.No = var
0
j'ai essayé ça en faisant : String var = MDNField.getText();
mais ça me donne une erreur "illegal forward reference"
c'est quoi le problème ?
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
17 avril 2012 à 16:13
Es-tu sûr que cela concerne cette ligne?
Car cette erreur signifie qu'une variable est initialisée par elle-même il me semble?!?!?
0