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

JDBC Java Discussion :

Problème de paramètre dans un PrepareStatement


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut Problème de paramètre dans un PrepareStatement
    En fait voici mon probléme,je veux executer une requete de MAJ dont la clause where est un élément d'un JList.c'est le model MVC que je tente d'implémenter voyez vous ? j'ai crée une classe des getters setters dans mon package com.anso.dpicol.model ,une autre classe pour mes methodes de modification,d'ajout,etc dans mon package com.anso.dpicol.services que j'apelle dans les ActionPerformed de mon interface qui se trouve dans mon package com.anso.dpicol.vue.Je ne sais pas comment faire pour passé l'élement du Jlist dont on souhaite modifier les données à ma methode de modification dans le package service,je sais,vous me dirai un truc comme ça : pst.setString(1,jList1.getSelectedValue().toString());pas moyen parceque jlist1 est en private,donc il faut necessairement passer par ma classe de getters setters.comment pouvoir le faire?
    comment arriver à créer un getter et un setter qui prend un Jlist en paramètre et me ramener cette valeur ?

    voici des bouts de code:


    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    package com.anso.dpicol.model;
     
    import javax.swing.JList;
     
    /**
     *
     * @author Cool
     */
    public class Utilisateur {
     
    private String nom;
    private String mdp;
    private int drtAn;
    private int drtJs;
    private int drtAm;
    private int drtAdmin;
     
    public String getNom(){
        return this.nom;
    }
     
    public String getMdp(){
        return this.mdp;
    }
     
    public int getDrtAn(){
        return this.drtAn;
    }
    public int getDrtJs(){
        return this.drtJs;
    }
     
    public int getDrtAm(){
        return this.drtAm;
    }
     
    public int getDrtAdmin(){
        return this.drtAdmin;
    }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public void setMdp(String mdp) {
            this.mdp = mdp;
        }
     
        public void setDrtAn(int drt1) {
            this.drtAn = drt1;
        }
     
         public void setDrtJs(int drt2) {
            this.drtJs = drt2;
        }
     
          public void setDrtAm(int drt3) {
            this.drtAm = drt3;
        }
     
           public void setDrtAdmin(int drt4) {
            this.drtAdmin = drt4;
        }
     
    }
     
    package com.anso.dpicol.services;
    public class ServicesUtilisateur {
     
    public boolean modifierUtilisateur(Utilisateur user) {
     Connection connection = DataBaseConnector.getConnection();
         if (connection == null) {
             return false;
         }
    try {
                PreparedStatement preparedStatement = connection.prepareStatement("update  user set NomUser=?,Pass=?,Acte_Naiss=?,Juge_Sup=?,Acte_Mar=?,Droit_Admin=? where NomUser=? ");
               // PreparedStatement prep2 = connection.prepareStatement("UPDATE Annuaire SET noTel = ? WHERE nom = ?");
                preparedStatement.setString(1, user.getNom());
                preparedStatement.setString(2, user.getMdp());
                preparedStatement.setInt(3, user.getDrtAn());
                preparedStatement.setInt(4, user.getDrtJs());
                preparedStatement.setInt(5, user.getDrtAm());
                preparedStatement.setInt(6, user.getDrtAdmin());
                //preparedStatement.setString(7, user.getNom());/*j'avais ecris ça mais lui il considere le nom saisi dans le JTextfield*/
                preparedStatement.setString(7,com.anso.dpicol.vue.FrmMaj1.jList1.getSelectedValue().toString());/*mon probleme se situe à ce niveau*/
    preparedStatement.executeUpdate();
    Merci pour votre compréhension

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Si je comprends bien, ton jList1 doit être sur un écran qui étend la classe JFrame.
    Pour la suite, on va appeler cette classe MonJFrame

    Si c'est le cas, tu peux :
    1) ajouter un getter du jList1 dans ta classe MonJFrame
    on va l'appeler : getjList1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public JList getjList1() {
    return jList1 
    }
    2) dans ta classe ServicesUtilisateur , ajouter un paramètre du type MonJFrame à ta méthode modifierUtilisateur
    cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public boolean modifierUtilisateur(Utilisateur user, MonJFrame mf)
    3) plus bas dans ta méthode, tu appelle ton jList en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preparedStatement.setString(7,mf.getjList1().getSelectedValue().toString());
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. problème de paramètres dans une fonction
    Par morgan54 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/05/2008, 16h53
  2. Réponses: 0
    Dernier message: 30/10/2007, 15h45
  3. Réponses: 1
    Dernier message: 06/03/2007, 11h57
  4. Problème avec paramètres dans un <messagebundle>
    Par imagine64 dans le forum JSF
    Réponses: 6
    Dernier message: 12/02/2007, 17h27
  5. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

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