IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Comment remplir deux tables en relation


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Points : 43
    Points
    43
    Par défaut Comment remplir deux tables en relation
    Salut ,

    Bonjour , je développe une entreprise application JEE (avec l'EJB) avec netbeans 6.7 ,JSF et Wampserver , representant une interface web aux clients qui leurs permettent de s'inscrire en fournissant certains données au premier temps et de login et modifier leurs comptes ultérieurement .

    Au moment d'inscription ,le client fournit des informations personnelles qu'on va mettre dans la table appelée 'client' de la base de données .

    Maintenant , je veux remplir une autre table 'interst' dans lequel chaque client va y mettre ses interts et qui contient 3 champs : 'interstId' , 'keyword' et 'clogin' .
    Ce dernier champ represente une clé etrangere vers le champ 'login' de la table 'client'.

    Pour remplir la deuxiéme table 'interest' ,j'ai procédé de la maniére suivante .

    Le client accede en premier temps à son compte , et en second temps va remplir un inputtext 'keyword' qu'on va insérer dans le champ 'keyword' de la table interest . Le champ 'interestId' est mis en autoincrement donc va etre généré automatiquement .Le champ 'clogin' doit normalement prendre la valeur du 'login' du client .

    La methode declaré dans le managedbean qui va créer ca est 'createinterest' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public String createinterest()
    {   i=new Interest();
         i.setKeyword(keyword);
     
         clogin=c.getLogin();     
         i.setClogin(clogin);
         inf.create(i);
     
        return null;
    }

    ou i est de type 'interest' et inf est de type 'InterestFacadeLocale'.

    Mais j'obtient cet erreur devant la ligne i.setClogin(clogin);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    method setClogin in class Ent.Interest cannot be applied to given types reqiured:Ent.Client
    found:java.lang.String
    La methde setClogin est déclarée dans Ent.Interest de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void setClogin(Client clogin) {
            this.clogin = clogin;
        }
    Que doit je donc modifier . Normalement , je doit modifier la ligne i.setClogin(clogin); mais j'ai pas connu de quel maniére .

    Une idée ?
    Merci d'avance .

  2. #2
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Points : 149
    Points
    149
    Par défaut
    Ta variable clogin est bien de type Ent.Client ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Points : 43
    Points
    43
    Par défaut
    non , c'est de meme type que 'login' : varchar . Ne doit 'il pas etre de ce type ?

  4. #4
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Points : 149
    Points
    149
    Par défaut
    Le type varchar n'existe pas en java (c'est du SQL ça).
    Quel est le type de ta variable clogin dans ton code Java ? Ca doit être un String donc...

    Revenons à ton erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    method setClogin in class Ent.Interest cannot be applied to given types reqiured:Ent.Client
    found:java.lang.String
    Elle dit qu'il trouve dans ta classe Ent.Interest un String au lieu d'un Ent.Client... c'est ta méthode i.setClogin(clogin); qui déconne. clogin est un String alors que dans ta méthode en-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void setClogin(Client clogin) {
            this.clogin = clogin;
        }
    Il est passé en paramètre un type Client... voila voila... bon courage pour corriger .

  5. #5
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Points : 43
    Points
    43
    Par défaut
    Salut ,

    bon ,j'ai corrigé , clogin doit etre de type string , je l'ai fait.

    Maintenant , le run me donne un autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    type Rapport d'exception
     
    Message
     
    DescriptionLe serveur a rencontré une erreur interne () qui l'a empêché de remplir cette requête.
     
    Exception
     
    javax.servlet.ServletException: #{metier.createinterest}: java.lang.NullPointerException
     
    Cause racine
     
    javax.faces.FacesException: #{metier.createinterest}: java.lang.NullPointerException
     
    Cause racine
     
    javax.faces.el.EvaluationException: java.lang.NullPointerException
     
    Cause racine
     
    java.lang.NullPointerException
     
    note Les suivis de pile complets de l'exception et de ses causes principales sont disponibles dans les journaux Sun GlassFish Enterprise Server v2.1.

    j'ai essayé avec des system.out.println de voir d'ou vient l'erreur ,

    j'ai trouvé que c bon jusqu'a la ligne

    ou se bloque labas .

    Merci .

Discussions similaires

  1. Remplir deux tables en relation avec JSF
    Par dalidali86 dans le forum JSF
    Réponses: 0
    Dernier message: 12/09/2009, 22h54
  2. Remplir deux tables en relation
    Par dalidali86 dans le forum Requêtes
    Réponses: 0
    Dernier message: 10/09/2009, 01h07
  3. [MySQL] comment remplir deux tables?
    Par hafcher dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/06/2008, 18h41
  4. [SWT] Comment remplir une Table ?
    Par simon77 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 23/08/2004, 10h31
  5. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo