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 :

[D2010] Erreur TDBXError 'Token unknown - line 1, column 32'


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut [D2010] Erreur TDBXError 'Token unknown - line 1, column 32'
    Je cherche à faire un simple select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
          _SQLQuery.Close;
          _SQLQuery.SQL.Clear;
          _SQLQuery.SQL.Add('select ID_APPLICATION from APPLICATIONS');
          _SQLQuery.SQL.Add('where lower(NOM) = ''' + LowerCase(szNomApplication) + '''');
          try
             _SQLQuery.Open;
           except
    ...
    Et j'obtiens l'erreur :
    Le projet Project1.exe a déclenché la classe d'exception TDBXError avec le message 'Token unknown - line 1, column 32
    .'.
    Voici la création du SQLConnexion et de la query :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
             _SQLConnectionFireBird := TSQLConnection.Create(nil);
             SetParamConnectionFireBird(_SQLConnectionFireBird);
     
             //.Connexion.
             try
                _SQLConnectionFireBird.Open;
             except
                on E: Exception do
                begin
                   AffMsgDialogue('Erreur :  échec de la connexion locale (' + szCheminTables + ') !' + #13#10 + E.Message, mtError);
                   _SQLConnectionFireBird.Free;      _SQLConnectionFireBird := nil;
                   Exit;
                end;
             end;
     
             _SQLQuery := TSQLQuery.Create(nil);
             _SQLQuery.SQLConnection := _SQLConnectionFireBird;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure SetParamConnectionFireBird(SQLConnection: TSQLConnection);
    begin
       if Assigned(SQLConnection) then
       begin
          SQLConnection.Params.Clear;
          SQLConnection.DriverName := 'Firebird';
          SQLConnection.Params.Add('Drivername=FIREBIRD');
          SQLConnection.Params.Add('Database=C:\répertoire\MaBase.FDB');
          SQLConnection.Params.Add('Password=MonMDP');
          SQLConnection.Params.Add('User_Name=MonLogin');
          SQLConnection.LoginPrompt := False;
       end;
    end;
    Que veut dire cette erreur ?

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 591
    Par défaut
    Bonjour,

    Je pense que ton erreur provient de l'absence d'un espace dans ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     _SQLQuery.SQL.Add('select ID_APPLICATION from APPLICATIONS');
          _SQLQuery.SQL.Add('where lower(NOM) = ''' + LowerCase(szNomApplication) + '''');
    qui doit devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     _SQLQuery.SQL.Add('select ID_APPLICATION from APPLICATIONS ');
          _SQLQuery.SQL.Add('where lower(NOM) = ''' + LowerCase(szNomApplication) + '''');
    Ta requête avec ta présentation est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID_APPLICATION from APPLICATIONSwhere lower(NOM) = LowerCase(szNomApplication)
    Or, il faut obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID_APPLICATION from APPLICATIONS where lower(NOM) = LowerCase(szNomApplication)
    Il serait bien avant d'écrire votre requête dans Delphi de la tester avec un éditeur SQL. Ainsi, vous pourriez détecter rapidement les raisons de l'anomalie

    Bon courage

Discussions similaires

  1. [PHP 5.2] Erreur inconnue : Notice: Unknown: Skipping numeric key 1900
    Par Kikkoman dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2009, 15h11
  2. Erreur WLS 8 (Unknown QOS for protocolNumber '9')
    Par francoisostyn dans le forum Weblogic
    Réponses: 5
    Dernier message: 23/12/2008, 16h40
  3. [Fortran 9.1] Erreur "Unrecognized token '?' skipped"
    Par stillman dans le forum Fortran
    Réponses: 4
    Dernier message: 08/08/2007, 09h25
  4. erreur Token Unknown
    Par bassim dans le forum SQL
    Réponses: 5
    Dernier message: 16/11/2006, 20h03

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