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

C++Builder Discussion :

syntaxe requete avec parametres [FAQ]


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut syntaxe requete avec parametres
    bonjour,

    Je veux effectuer une requete avec des parametres sur uneBD mysql
    mais je suis completement perdu dans la syntaxe a utiliser pour faire passer cette requete de mysql a bcb6.

    voici ma requete sous bcb6:
    (nom_table et code_obj sont 2 string dont la valeur est correctement attribuée avant de lancer la requete)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query_mysql_select->SQL->Add("SELECT code_objet FROM " +nom_table+" WHERE code_objet= " +code_obj+" ");
    L erreur retounée est la suivante: champ inconnu dans where clause

  2. #2
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut
    Une precision,
    en remplacant
    code_objet= " +code_obj+" par code_objet like " +code_obj+"

    j'ai toujours la meme erreur.
    je suppose que c'est au niveau des guillemet et quote que ca cloche mais je ne sais pas encore les utiliser correctement.

  3. #3
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Essayes de passer ta requete comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString Requete = "SELECT code_objet FROM "+nom_table+" WHERE code_objet="+code_obj;
    Query_mysql_select->SQL->Add(Requete);
    Tu passes alors ton code au debuggeur et tu regardes si la variable Requete est correctement remplie.

  4. #4
    Membre actif
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Citation Envoyé par mike600river
    Une precision,
    en remplacant
    code_objet= " +code_obj+" par code_objet like " +code_obj+"

    j'ai toujours la meme erreur.
    je suppose que c'est au niveau des guillemet et quote que ca cloche mais je ne sais pas encore les utiliser correctement.
    Concernant les chaines de caracteres, il faut les encadrer de simple quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Query_mysql_select->SQL->Add("SELECT code_objet FROM '" +nom_table+"' WHERE code_objet=' " +code_obj+" '");
    lanonyme

  5. #5
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut
    merci a vous deux.

    avec la solution de bakaneko il manquait des ' ' autour du code_obj
    avec celle de lanonyme les ' ' autour de nom_table creaient une erreur
    alors en mixant j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString requete = "SELECT code_objet FROM " +nom_table+" WHERE code_objet=' " +code_obj+" '";
    et ca marche.

    merci, vous me sauvez encore une fois.

    Qui a dit "et pas la derniere"?

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Conseil:

    Si tu as à utiliser une valeur chaine dans une requete SQL, utilises la méthode QuotedStr pour ajouter les quotes. Dans ton cas, on obtient ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AnsiString requete = "SELECT code_objet FROM "+nom_table+" WHERE code_objet="+QuotedStr(code_obj);
    Cela évitera des problèmes si tu utilises des noms possédant déjà des quotes.

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

Discussions similaires

  1. TableAdapter requete avec parametre multiple.
    Par isambert dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/01/2007, 00h11
  2. requete avec parametres
    Par shezam dans le forum Access
    Réponses: 6
    Dernier message: 26/10/2006, 11h23
  3. Appeler Requete avec parametre dans Procedure
    Par shadockgreg dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 08/09/2006, 12h25
  4. Executer une requete avec parametre passe variables
    Par vincent. dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 18/07/2006, 09h18
  5. Pb Graphique sur requete avec parametre
    Par catoucat dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/06/2006, 08h21

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