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

Java Discussion :

Java et requête SQL


Sujet :

Java

  1. #1
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut Java et requête SQL
    Salut,

    Je viens de commencer en Java et j' ai fais une application très simple avec une base de donnée.

    Je souhaiterai mettre à jour des données dans ma base lorsque j' appel ma méthode updatePersonne(Personne unePersonne).

    Cependant ça ne fonctionne pas et je n' ai pas d' erreur, j' ai l' impression qu'il n' execute tout simplement pas ma requête.

    Si quelqu'un peut m' aider, voici ma méthode:
    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
    //Modification d' une personne de la base
        public int updatePersonne(Personne unePersonne)
        {
            PreparedStatement st = null;
            int res = 0;
     
            try
            {
                //Preparation de la requête
                String query = "update personne SET nom=?, adresse=?, telephone=? where numero=?";
                st = this.cnx.prepareStatement(query);
     
     
                // On passe les paramétres à la requête
                // 1,2 et 3 represente l' ordre des ?
                st.setString(1, unePersonne.GetNom());
                st.setString(2, unePersonne.GetAdresse());
                st.setString(3, unePersonne.GetTelephone());
                st.setInt(4, unePersonne.getID());
     
                //Execution de la requête
                res = st.executeUpdate();
     
               System.out.println("la:" + unePersonne.getID()+ "nom: " + unePersonne.GetNom());
     
            }
            catch(SQLException e)
            {
                System.err.println(e.getMessage());
            }
            finally
            {
                //Fermeture du PreapredStatement
                if(st != null)
                {
                    try
                    {
                        st.close();
                    }
                    catch(SQLException e)
                    {
                        e.printStackTrace();
                    }
                }
            }
     
            return res;
        }

  2. #2
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut
    Le code me semble correct. Je pencherais plus pour une erreur de requête. Tu as peut-être simplement l'impression que ta requête n'est pas exécutée car elle n'effectue pas ce à quoi tu t'attends. Vérifies que la requête exécutée implique un changement dans la console de MySQL.

  3. #3
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Et la gestion des transactions alors ? Ça manque dans ce code, et c'est certainement la cause de ton problème

  4. #4
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut
    J' ai trouvé l' erreur, assez idiote d' ailleurs...

    En fait il n' y avait pas d' erreur dans ma méthode updatePersonne().
    L' objet Personne que j' envoie à ma méthode updatePersonne() je l' extrait d' un vecteur.

    Lorsque je modifie la personne, je modifie ce qu'il y a dans le JTextField et non directement dans le vecteur.

    Donc tout simplement il fallait que je modifie les données de ma Personne via des mutateurs avant de l' envoyer à ma methode updatePersonne().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    unePersonne = monAgenda.GetPersonne(indexCourant);
     
    unePersonne.setNom(txt_nom.getText());
    unePersonne.setAdresse(txt_adresse.getText());
    unePersonne.setTelephone(txt_telephone.getText());
     
    PDAO1.updatePersonne(unePersonne);
    Merci pour votre aide.

    Cordialement Sieldev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête SQL de base sous java avec Hibernate
    Par ritchie23 dans le forum JDBC
    Réponses: 0
    Dernier message: 29/10/2008, 09h54
  2. Java requête SQL quote antislash
    Par ritchie23 dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 01/10/2008, 16h50
  3. Requête SQL 'UPDATE' en Java
    Par Grulf dans le forum JDBC
    Réponses: 5
    Dernier message: 11/06/2008, 09h32
  4. copier une requête sql dans un code java
    Par Smix007 dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2008, 15h14
  5. Réponses: 8
    Dernier message: 11/08/2006, 09h30

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