AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL error code = -104 Token unknown
Thema durchsuchen
Ansicht
Themen-Optionen

SQL error code = -104 Token unknown

Ein Thema von Overburn · begonnen am 12. Okt 2004 · letzter Beitrag vom 24. Okt 2004
Antwort Antwort
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#1

SQL error code = -104 Token unknown

  Alt 12. Okt 2004, 14:32
Hallo!
Ich verwende folgenden Code aus eurer Library:
DB Grid sortieren

Da ich als Datenbank Interbase benutze habe ich versucht, diesen Code anzupassen. Dabei ist folgendes Herausgekommen:
Delphi-Quellcode:
 
procedure TSeriennummerdatenbank.DBGrid1TitleClick(Column: TColumn);
var sql : string;
begin
sSortColumn := DBGrid1.Columns.Items[Column.Index].FieldName;
IBQuery1.Close;
if bSortOrder then
  begin
   sql := 'SELECT * FROM Seriennummern ORDER BY "'+ sSortColumn +'"';
   IBQuery1.sql.add(sql);
  end
else
  begin
   sql := 'SELECT * FROM Seriennummern ORDER BY "'+ sSortColumn + '" DESC';
   IBQuery1.SQL.Add(sql);
  end;
IBQuery1.Open;
end;
Bei einem einmaligen Klick auf den Spaltentitel eines DBGrids passiert nichts, wenn ich ein zweites mal draufklicke, bekomme ich folgende Fehlermeldung angezeigt:
Zitat:
Im Projekt Project1.exe ist eine Exception der Klasse EIBInterBaseError aufgetreten. Meldung: 'Dynamic SQL Error SQL error code = -104 Token unknow - line 2, char 1 SELECT'
Könnt ihr mir da helfen?

Mit freundlichen Grüßen,
Overburn

[edit=Admin]URL-Tags korrigiert. Mfg, Daniel[/edit]
  Mit Zitat antworten Zitat
2kstealth
(Gast)

n/a Beiträge
 
#2

Re: SQL error code = -104 Token unknown

  Alt 12. Okt 2004, 14:58
Ich möchte zu meinem Statement gleich vorab sagen,
dass ich nicht weiß ob es dir helfen kann.

Ich habe ein Programm in C++ geschrieben das einen
ähnlichen Zugriff startet.

Bei C++ ist es so:

Man braucht das Item Source aus der Sparte Datenzugriff.
Zusätzlich braucht man ein Item das den Query weitergibt,
hierzu habe ich ein anderes verwendet als du wahrscheinlich
benötigst.

Du wirst wahrscheinlich das Item IBQuery aus der Sparte InterBase
benötigen.
Nun ist das wichtige die Verweise der einzelnen Komponenten:

Ich gebe zu das es schon ewig her ist das ich das Programm geschrieben habe.
Es ist so, dass man eine 'Schleife' bauen kann, mit der das ganze Unterfangen
schiefgeht. Das Problem ist das man Query und Source zueinander verlinken kann,
Und damit geschieht nichts.
Der Query würde sozusagen immer hin und her gegeben.

Du musst wahrscheinlich der Source den Query zuweisen und nicht andersherum.

Wenn das nicht funktionieren sollte, versuche es andersherum.
Aber bitte nicht beiden den jeweils anderen zuweisen.


Ich hoffe das dir das helfen kann was ich hier geschrieben habe.

Mit freundlichen Grüßen

StEaLtH
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#3

Re: SQL error code = -104 Token unknown

  Alt 12. Okt 2004, 15:36
Moin Overburn!

Versuch bitte etwa so:

Delphi-Quellcode:
...
begin
  IBQuery1.sql.clear;
  sql := 'SELECT * FROM Seriennummern ORDER BY ' + sSortColumn;
  IBQuery1.sql.add(sql);
end
...
Viele Grüße
Markus
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: SQL error code = -104 Token unknown

  Alt 12. Okt 2004, 15:44
  • Da fehlt was:
    Delphi-Quellcode:
       sql := 'SELECT * FROM Seriennummern ORDER BY "'+ sSortColumn +'"';
       IBQuery1.sql.add(sql);
    Beim ersten Klick steht das drin:
    SELECT * FROM Seriennummern ORDER BY "SomeColumn" Beim zweiten das:
    SQL-Code:
    SELECT * FROM Seriennummern ORDER BY "SomeColumn"
    SELECT * FROM Seriennummern ORDER BY "SomeColumn"
    Beim dritten das:
    SQL-Code:
    SELECT * FROM Seriennummern ORDER BY "SomeColumn"
    SELECT * FROM Seriennummern ORDER BY "SomeColumn"
    SELECT * FROM Seriennummern ORDER BY "SomeColumn"
    Du solltest den SQL Code also nicht nur anfügen sondern jedesmal direkt zuweisen:
    Delphi-Quellcode:
    With SomeQuery Do
    Begin
      SQL.Text := Format('SELECT *' + #10 +
                         'FROM Seriennummern' + #10 +
                         'ORDER BY "%s"'
                         ,[sSortColumn]);
      Open();
    End;
  • Außerdem hast du das da vergessen:
    bSortOrder := not bSortOrder; Du wirst deshalb immer aufsteigend sortieren.
  Mit Zitat antworten Zitat
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#5

Re: SQL error code = -104 Token unknown

  Alt 18. Okt 2004, 07:27
Hallo!
Danke für eure Antwort. Es funktioniert jetzt!

MfG, Overburn
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#6

Re: SQL error code = -104 Token unknown

  Alt 24. Okt 2004, 21:07
Wenn man aus eirgendeinem Grund den SQL-Befehl mit SQL.Add() zuweisen will, dann geht das auch, wenn man zuerst mit SQL.Clear den alten SQL-Befehl rauswirft. Add ist aber hauptsächlich denn sinnvoll, wenn man den SQL-befehl abhängig von Bedingungen zeilenweise aufbauen will.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz