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 :

probl�me d'ex�cution d'un requ�te SQL!


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Inscrit en
    Juillet 2006
    Messages
    9
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par d�faut probl�me d'ex�cution d'un requ�te SQL!
    je re�ois une cha�ne de charact�res et je construis un requ�te comme �a:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
         AnsiString str;
         int n;
         str = Edit1->Text;
         ADOCommand1->CommandText = "";
         ADOCommand1->CommandText = "select * from CDS_Card_Data where ICCID = '";
         ADOCommand1->CommandText += str;
         ADOCommand1->CommandText += "'";
         Edit2->Text = ADOCommand1->CommandText;
         ADODataSet1->Recordset = ADOCommand1->Execute();
    Mais le COMPILER m'alerte toujous:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     Project TestProject.exe raised exception class EOleException with message '[MicroSoft][ODBC MicroSoft 
    Access Driver]Syntax error in string in query expression 'ICCID ='" Process Stopped. Use Step or Run to 
    continue.
    Pourquoi est-ce qu'il a caus� cette erreur?

    Si je r�dige un requ�te fixe dans la propri�t� CommandText sur la fen�tre "Object Inspector" comme �a:

    select * from CDS_Card_Data where ICCID = '89840321080002701056'

    par exemple, il marchera bien!!! c'est bizarre!

    Merci tous d'avance!

  2. #2
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    As-tu essay� d'afficher ta requ�te avant de l'ex�cuter pour voir ce qu'elle donne ?

  3. #3
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    A mon avis ca ne fonctionne pas car les ligne suivante ne s'execute pas correctement :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    ADOCommand1->CommandText += str;
    ADOCommand1->CommandText += "'";
    fait plutot comme ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
         AnsiString str;
         int n;
         str = "select * from CDS_Card_Data where ICCID = '" ;
         str += Edit1->Text;
         str += "'" ;
         ADOCommand1->CommandText = str ;
         Edit2->Text = ADOCommand1->CommandText;
         ADODataSet1->Recordset = ADOCommand1->Execute();
    A mon avis ca ira deja mieux

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Question :
    Pourquoi personne n'utilise la m�thode QuotedStr qui permet de mettre les quotes sur les chaines de caract�res???

    Citation Envoy� par Aide de Builder
    Renvoie la version guillemet�e d'une cha�ne AnsiString.

    Unit�

    SysUtils

    Cat�gorie

    routines de gestion des cha�nes

    extern PACKAGE AnsiString __fastcall QuotedStr(const AnsiString S);

    Description

    Utilisez QuotedStr pour convertir la cha�ne AnsiString S en une cha�ne guillemet�e. Un caract�re simple (') est ins�r� au d�but et � la fin de S et les guillemets simples dans la cha�ne sont r�p�t�s.

    Remarque : Avec un syst�me de caract�res cod�s sur plusieurs octets (MBCS), utilisez plut�t AnsiQuotedStr.

  5. #5
    Membre habitu�
    Inscrit en
    Juillet 2006
    Messages
    9
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par d�faut
    Citation Envoy� par pottiez
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
         AnsiString str;
         int n;
         str = "select * from CDS_Card_Data where ICCID = '" ;
         str += Edit1->Text;
         str += "'" ;
         ADOCommand1->CommandText = str ;
         Edit2->Text = ADOCommand1->CommandText;
         ADODataSet1->Recordset = ADOCommand1->Execute();
    A mon avis ca ira deja mieux
    Merci beaucoup pottiez, ce code marche bien!!!

  6. #6
    Membre habitu�
    Inscrit en
    Juillet 2006
    Messages
    9
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par d�faut
    Citation Envoy� par kurul1
    As-tu essay� d'afficher ta requ�te avant de l'ex�cuter pour voir ce qu'elle donne ?
    �a fait comment?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [MySQL] Probl�me d'ex�cution d'une requ�te SQL
    Par siempre dans le forum Requ�tes
    R�ponses: 8
    Dernier message: 17/02/2012, 13h07
  2. Probl�me d'ex�cution d'une requ�te sql sous java
    Par leshafid dans le forum Requ�tes
    R�ponses: 1
    Dernier message: 18/08/2010, 09h15
  3. R�ponses: 1
    Dernier message: 18/08/2010, 08h26
  4. [SQL] probl�me d'ex�cution de la requ�te
    Par mama07 dans le forum PHP & Base de donn�es
    R�ponses: 12
    Dernier message: 11/06/2007, 14h15
  5. Erreur d'ex�cution d'une requ�te sql
    Par marceline dans le forum Oracle
    R�ponses: 2
    Dernier message: 11/07/2006, 13h12

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