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 :

Probleme requete mise ajour


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par défaut Probleme requete mise ajour
    Bonjour,

    je souhaite mettre a jour une ligne d'une table "client" d'une base de données , mon code est:
    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
    try
    {
    Statement st=ex.createStatement();
    StringBuffer ac = new StringBuffer("update client set nom ='");
    ac.append(t1.getText()) ;
    ac.append(" ',prenom='") ;			
    ac.append(t2.getText()) ;
    ac.append(" 'where nom='");
    ac.append(t1.getText()) ;
    ac.append( "' " ) ;
    st.executeUpdate(ac.toString());						
    st.close();
    ex.close();		
    }catch(Exception e){
    System.out.println(e.getMessage());}

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Et quel est le problème? On doit deviner l'erreur?

    Poste-nous aussi le message d'erreur se serait bien

  3. #3
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Statement st=ex.createStatement();
    StringBuffer ac = new StringBuffer("update client set nom ='");
    ac.append(t1.getText()) ;
    ac.append(" ',prenom='") ; 
    ac.append(t2.getText()) ;
    ac.append(" 'where nom='");
    ac.append(t1.getText()) ;
    ac.append( "' " ) ;
    st.executeUpdate(ac.toString()); 
    st.close();
    ex.close();
    Ta requete ne peut pas marcher.
    Il ne faut pas mettre d'espace avant, mais après la quote !!

  4. #4
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par maxf1
    Ta requete ne peut pas marcher.
    Il ne faut pas mettre d'espace avant, mais après la quote !!
    +1 !
    De plus, ta requête est bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE client set nom='A', prenom='B' WHERE nom='A'
    Y'a pas un sushi ? le "set nom='A'" ne sert à rien

  5. #5
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    Y'a pas un sushi ? le "set nom='A'" ne sert à rien
    C'est surtout qu'il a pas mit d'identifiant dans sa table... (ou alors qu'il s'en sert pas)

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    tu devrais uriliser un preparedStatement ...

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par défaut
    Citation Envoyé par maxf1
    Ta requete ne peut pas marcher.
    Il ne faut pas mettre d'espace avant, mais après la quote !!
    Non ca ne fonctionne toujours pas !!! c'est prise de tete
    est ce que vous pouvez m'indiquez une autre methode, le probleme se pose apartir:
    ac.append(" ',prenom=' ") ;
    ac.append(t2.getText()) ;
    ac.append(" 'where nom=' ");
    ac.append(t1.getText()) ;

  8. #8
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Ce que j'ai dit est sur!!! Il y a surement un autre probleme en plus de celui que je t'ai dit.

    Si tu mettais la stack trace ou le message d'erreur peut-etre que ce serais mieux. Perso je n'ai pas passer le bac medium.

  9. #9
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par maxf1
    Perso je n'ai pas passer le bac medium.
    [ModeBlagueA2Balles]T'as passé le bac easy, hard ou very hard alors ?[/ModeBlagueA2Balles]

    Plus sérieusement, si tu veux comprendre le problème de ta requête, affiche la ! Après si tu t'y connais un minimum en SQL, tu va voir l'erreur. On t'as dit où étaient les erreurs, mais tu t'entêtes :
    Citation Envoyé par maxf1
    Ta requete ne peut pas marcher.
    Il ne faut pas mettre d'espace avant, mais après la quote !!

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il faut éviter de créer des requêtes de ce genre et passer par un preparedStatement.
    Dans ton cas, même si les ' sont bien positionnées, tu auras un plantage dès qu'un de tes String contiendra une apostrophe...

    Avec preparedStatement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    PreparedStatement pstmt = connection.prepareStatement("update client set nom=?, prenom=? where nom=?");
    pstmt.setString(1, leNom);
    pstmt.setString(2, lePrenom);
    pstmt.setString(3, leNom);
    pstmt.execute();
    ...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par défaut
    Citation Envoyé par maxf1
    Ce que j'ai dit est sur!!! Il y a surement un autre probleme en plus de celui que je t'ai dit.

    Si tu mettais la stack trace ou le message d'erreur peut-etre que ce serais mieux. Perso je n'ai pas passer le bac medium.
    merçi de votre consielle notre requete ça marche bien.

  12. #12
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par nabil_info1
    merçi de votre consielle notre requete ça marche bien.
    Alors on clique sur , merci

Discussions similaires

  1. probleme de mise ajour après un dessin
    Par boumacmilan dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 04/05/2010, 00h35
  2. probleme requete mise à jour photo
    Par bebepicardy dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/05/2008, 09h44
  3. [debutant] Probleme requete mise à jour
    Par titocv723 dans le forum Access
    Réponses: 2
    Dernier message: 10/10/2006, 11h05
  4. Probleme avec une requete mise a jour
    Par mael94420 dans le forum ASP
    Réponses: 2
    Dernier message: 08/03/2006, 20h56
  5. Probleme de mise ajour
    Par mael94420 dans le forum ASP
    Réponses: 5
    Dernier message: 15/06/2005, 10h11

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