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

 Delphi Discussion :

Problème de syntaxe sous Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 33
    Par défaut Problème de syntaxe sous Delphi
    bonjour à tous,

    Je cherche à afficher dans un DBLookupComboBoxDateExa seulement les dates de l'année en cours dans ce cas que les dates de 2008, j'utilise ce code mais ça m'affiche une erreure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    with DataModuleGojuryu.ADOSESSIONEXAMEN do begin
        close;
        SQL.text := 'SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE) LIKE '+QuotedStr(FBouttonsEle.DBLookupComboBoxDateExa.text+'%');
        OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
      end;
    Merci pour votre aide

  2. #2
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Citation Envoyé par And_res Voir le message
    mais ça m'affiche une erreure.
    Erreur confidentielle ?

  3. #3
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Je vois, je vois, je vois, je vois , je vois

    une alternative

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      with DataModuleGojuryu.ADOSESSIONEXAMEN do begin
        close;
        SQL.text := 'SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE (EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE)) AND LIKE '+QuotedStr(FBouttonsEle.DBLookupComboBoxDateExa.text+'%');
        OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
      end;
    ou une autre alternative

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        with DataModuleGojuryu.ADOSESSIONEXAMEN do begin
        close;
        SQL.text := 'SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE (EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE)) OR LIKE '+QuotedStr(FBouttonsEle.DBLookupComboBoxDateExa.text+'%');
        OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
      end;

  4. #4
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Et enfin apparaît l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      with DataModuleGojuryu.ADOSESSIONEXAMEN do begin
        close;
        SQL.text := 'SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE (EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE)) OR LIKE '+QuotedStr(FBouttonsEle.DBLookupComboBoxDateExa.text+'%');
        try
          OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
        except
          on e:exception do
          begin
            ShowMessage('Regarde humain : le sql suivant ' + slinebreak +  SQL.text +  slinebreak +  'entraîne l''erreur suivante ' + slinebreak +  e.message);
          end;
        end;
      end;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 33
    Par défaut
    j'ai cette erreure qui s'affiche 'Incorrect syntax near the keyword 'FROM'', je sais pas si c'est une erreure qui vient de la requête.???

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    Delphi ne génère pas de code interprété, donc si tu as une erreur de syntaxe au RunTime, c'est forcément, un code interprété, dans ton cas le SQL ...

    As-tu testé la requête directement dans un outil SQL adpaté à ta base, d'ailleurs, en dehors de Delphi ? Cela devrait être un réflexe !
    Es-tu sur que le ' est géré correctement ? un " serait peut-être plus pratique en Delphi

    le type de base est aussi confidentiel ? Oracle ? Sql Server ? MySQL ? InterBase ? les composants ? on devine ADO ... ?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    with DataModuleGojuryu.ADOSESSIONEXAMEN do 
    begin 
        close;
        SQL.text := Format('SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE (EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE)) OR LIKE "%s%%"', [FBouttonsEle.DBLookupComboBoxDateExa.text]);
        try
          OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
        except
          on e:exception do
          begin
            ShowMessage('Regarde humain : le sql suivant ' + slinebreak +  SQL.text +  slinebreak +  'entraîne l''erreur suivante ' + slinebreak +  e.message);
          end;
        end;
      end;
    ou mieux, les Paramètres !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    with DataModuleGojuryu.ADOSESSIONEXAMEN do 
    begin 
        close;
        SQL.text := 'SELECT DAT_SESS_EXA FROM dbo.SESSION_EXAMEN WHERE (EXTRACT(YEAR FROM DATE_SESS_EXA) = EXTRACT(YEAR FROM CURRENT_DATE)) OR LIKE :param';
        DataModuleGojuryu.ADOSESSIONEXAMEN.Parameters.ParamByName('param').AsString := FBouttonsEle.DBLookupComboBoxDateExa.text + '%';
        try
          OuvertureQuery(DataModuleGojuryu.ADOSESSIONEXAMEN);
        except
          on e:exception do
          begin
            ShowMessage('Regarde humain : le sql suivant ' + slinebreak +  SQL.text +  slinebreak +  'entraîne l''erreur suivante ' + slinebreak +  e.message);
          end;
        end;
      end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. problème gestion réseau sous delphi
    Par rerou dans le forum Web & réseau
    Réponses: 9
    Dernier message: 10/08/2011, 16h15
  2. Problème de requête sous Delphi
    Par chahinerue6 dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2010, 07h44
  3. [Rave] Problème avec DataMemo sous Delphi 2006
    Par bhtechnologies dans le forum Composants VCL
    Réponses: 12
    Dernier message: 30/07/2009, 15h53
  4. Problème base ACCESS sous DELPHI
    Par colorid dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/02/2006, 15h24
  5. Problème avec EInOutError sous delphi 2005
    Par Teb dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2005, 11h48

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