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 :

Erreur de syntaxe dans clause where


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Par défaut Erreur de syntaxe dans clause where
    bonsoir,

    j'obtiens l'erreur suivante : "Erreur de syntaxe près de 'where bon.datelivraison = '2007-11-28'' à la ligne 4.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    AnsiString format = "yyyy-mm-dd";
    AnsiString s = NFeuilleRoute->DateTimePicker1->Date.FormatString(format);
    Query1->Close() ;
    Query1->SQL->Clear() ;
    Query1->SQL->Add("select bon.refbon, bon.datelivraison, bon.refclient, client.nomclient, client.cpclient, client.villeclient") ;
    Query1->SQL->Add("from client INNER JOIN bon ON client.refclient = bon.refclient") ;
    Query1->SQL->Add("order by refbon ASC") ;
    Query1->SQL->Add("where bon.datelivraison = :datelivraison") ;
    Query1->ParamByName("datelivraison")->AsString = s;
    Query1->Prepare();
    Query1->Open() ;
    Quelqu'un aurait-il une suggestion ?

    merci,

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    1. ORDER BY se trouve toujours APRES une clause WHERE
    2. Il faut des espaces à la fin de chaque ligne que tu ajoutes parce que la méthode Add de ton TStrings ( Query::SQL ) ne le fait pas elle-même. Elle ne fait que concaténer tes chaines de caractères pour former ta requête SQL.

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    query->SQL->Clear();
    query->SQL->Add("SELECT * ");
    query->SQL->Add("FROM TABLE ");
    query->Active = true;
    Pour ma part, j'utilise la property Text pour être certains du contenu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    query->SQL->Text = 
      "select bon.refbon, bon.datelivraison, bon.refclient, client.nomclient, client.cpclient, client.villeclient "
      "from client INNER JOIN bon ON client.refclient = bon.refclient "
      "where bon.datelivraison = :datelivraison order by refbon ASC";
    Query1->ParamByName("datelivraison")->AsString = s;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Par défaut
    évidemment ..... je pense à tout sauf à cela.

    merci et bonne soirée.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/07/2007, 12h24
  2. [Access] "Erreur de syntaxe dans la clause FROM"
    Par Marie_2116 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 05/07/2007, 15h51
  3. Erreur de syntaxe dans la clause from
    Par shub dans le forum Access
    Réponses: 1
    Dernier message: 12/06/2006, 20h24
  4. Réponses: 2
    Dernier message: 03/06/2006, 00h22
  5. [PL/SQL Oracle] Syntaxe dans clause where
    Par Misdrhaal dans le forum Oracle
    Réponses: 2
    Dernier message: 01/03/2006, 13h33

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