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

  1. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
     
    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
    1. 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
    2. 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
    3. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
       
      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
    4. 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
    5. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
       
      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