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

Bases de données Delphi Discussion :

erreur exécution requête


Sujet :

Bases de données Delphi

  1. #1
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut erreur exécution requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            tmp1 := 'UPDATE personne';
            tmp2 := 'SET Nom="'+nom_pers.Text+'", Prenom="'+prenom_pers.Text+'", Telephone="'+tel_pers.Text+'", Tel_portable="'+tel_port_pers.Text+'", E_mail_pers="'+mail_pers.Text+'", Adresse_pers="'+adresse_pers.Text+'"';
            tmp3 := 'WHERE Id_pers='+IntToStr(nom_pers.Tag)+'';
            BD.SQL.Add (tmp1 + tmp2 + tmp3);
    Quand j'exécute cette requête, j'ai l'erreur suivante : utilisation du mot clé incorrect nom="...".
    Quand je teste la requête sous l'explorateur de la BD, ça marche.

    Je ne comprend pas l'erreur.
    Merci de m'éclairer.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 40
    Points
    40
    Par défaut
    quel sGBD utilises-tu ???

    est-tu sûr que c'est bien des doubles cotes qu'il faut ???

  3. #3
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    tmp1 := 'UPDATE personne';
    tmp2 := 'SET Nom="'+nom_pers.Text+'", Prenom="'+prenom_pers.Text+'", Telephone="'+tel_pers.Text+'", Tel_portable="'+tel_port_pers.Text+'", E_mail_pers="'+mail_pers.Text+'", Adresse_pers="'+adresse_pers.Text+'"';
    tmp3 := 'WHERE Id_pers='+IntToStr(nom_pers.Tag)+'';
    BD.SQL.Add (tmp1 + ' ' + tmp2 + ' ' + tmp3);

  4. #4
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Citation Envoyé par delphichem
    Essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    tmp1 := 'UPDATE personne';
    tmp2 := 'SET Nom="'+nom_pers.Text+'", Prenom="'+prenom_pers.Text+'", Telephone="'+tel_pers.Text+'", Tel_portable="'+tel_port_pers.Text+'", E_mail_pers="'+mail_pers.Text+'", Adresse_pers="'+adresse_pers.Text+'"';
    tmp3 := 'WHERE Id_pers='+IntToStr(nom_pers.Tag)+'';
    BD.SQL.Add (tmp1 + ' ' + tmp2 + ' ' + tmp3);
    Merci ça marche

  5. #5
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Il serait préférable d'utiliser des paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp2 := 'SET Nom=:nom, prenom=:prenom ... '
    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bd.ParamByName('nom').AsString := nom_pers.Text;
    ...
    si tu ne veux pas utiliser de paramètres, il faut utiliser quotedStr pour les zones char :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp2 := 'SET Nom=' + quotedStr(nom_pers.Text) + ...
    Afin d'éviter les problèmes de chaines qui contiendraient un '

    Bloon

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

Discussions similaires

  1. [AC-2003] Erreur exécution requête SQL sur MDE + Runtime
    Par Yodadesbois dans le forum VBA Access
    Réponses: 0
    Dernier message: 02/08/2013, 23h51
  2. Erreur exécution requête
    Par thx5959 dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 07/10/2009, 15h36
  3. Message d'erreur exécution requête
    Par GO dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/07/2008, 11h18
  4. Erreur exécution requête
    Par jfphan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/07/2008, 13h32
  5. [WD11] Erreur Exécution requête
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 2
    Dernier message: 06/02/2007, 11h34

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