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 :

UPDATE d'un enregistrement


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Points : 106
    Points
    106
    Par défaut UPDATE d'un enregistrement
    Bonjour,

    Dans mon programme je souhaite que dès dans la colonne "pseudo" en enregistrement portant la valeur "xavier" est trouvé ce dernier soit remplacé par "pascal".

    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
    public class PremJDBC 
    {
        public static void main(String[] args) throws ClassNotFoundException, SQLException
        {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connec = DriverManager.getConnection("jdbc:mysql://localhost/jerale", "root", "");
     
            try
            {
     
                String requete = "SELECT pseudo FROM membre";
                Statement stmt = connec.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                ResultSet res = stmt.executeQuery(requete);
                String pseudo;
     
                while(res.next())
                {
                    pseudo = res.getString(1);
                    System.out.println(pseudo);
                    if(pseudo.equals("xavier"))
                    {
                        res.updateString(1, "pascal");
                        res.updateRow();
                    }
                }
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                connec.close();
                System.out.println("Connection fermée : " + connec.isClosed());
            }
     
        }
     
     
     
    }
    Mon code me renvoi l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com.mysql.jdbc.NotUpdatable: Result Set not updatable (references no primary keys).This result set must come from a statement that was created with a result set type of ResultSet.CONCUR_UPDATABLE, the query must select only one table, can not use functions and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details.

    Quelqu'un pourrait m'aider ?
    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Il semble que le message est clair.
    Pour faire cette opération, le SELECT doit retourner les champs constituant la clé primaire de la table.

    Une meilleure solution est de faire l'update directement en SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE membre SET pseudo='pascal' WHERE pseudo='xavier'

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/11/2009, 08h56
  2. Update qui n'enregistre rien
    Par yaya0057 dans le forum Hibernate
    Réponses: 4
    Dernier message: 17/05/2009, 10h02
  3. [UPDATE] Marier des enregistrements 2 à 2
    Par helje dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/06/2008, 10h44
  4. prob update du dernier enregistrement
    Par zorba49 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/01/2007, 09h15
  5. Mysql update supprime un enregistrement
    Par Langly dans le forum Requêtes
    Réponses: 5
    Dernier message: 03/08/2006, 17h46

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