JPQL

serenity -  
 serenity -
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   Statut Membre Dernière intervention   323
 
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
serenity
 
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
serenity
 
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   Statut Membre Dernière intervention   323
 
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
serenity
 
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   Statut Membre Dernière intervention   323
 
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