AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Token unknown

Ein Thema von rbertus2000 · begonnen am 11. Sep 2006 · letzter Beitrag vom 11. Sep 2006
Antwort Antwort
rbertus2000

Registriert seit: 10. Apr 2006
13 Beiträge
 
Turbo Delphi für Win32
 
#1

Token unknown

  Alt 11. Sep 2006, 20:41
Datenbank: Interbase • Version: 6 • Zugriff über: dbexpress
Hallo,
ich habe ein kleines Problem mit einer Interbase Datenbank. Wenn ich über Tsqlquery per Insert einen neuen Datensatz einfügen will, sagt er mir immer "Datenbank-Server-Fehler: Token unknown - line 1, char 15 aufgetreten". Was mache ich falsch?
Hier ist mein Quellcode:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
  q: WideString;
begin
q:= 'Insert into aeg.Schueler (id, Firstname, Lastname, Birthdate, Klasse) Values('+edit1.Text+','+edit2.Text+','+edit3.Text+','+edit4.Text+','+edit5.Text+')';
form1.SQLQuery1.SQL.Clear;
form1.SQLQuery1.SQL.Add(q);
form1.SQLQuery1.ExecSQL;
end;
Ich hoffe, das mir jemand helfen kann.
mfg rbertus2000
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Token unknown

  Alt 11. Sep 2006, 21:02
Hallo.

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  with Form1.SQLQuery1 do
  begin
    SQL.Text := 'Insert into Schueler (id, Firstname, Lastname, Birthdate, Klasse) '
              + 'Values(:id, :firstname, :lastname, :birthdate, :klasse)'
              ;
    Params.ParamByName('id').AsInteger := StrToInt(Edit1.Text);
    Params.ParamByName('schueler').AsString := Edit2.Text;
    // ...
    ExecSQL;
  end;
end;
Der direkte Zugriff von Form3 auf Form1.SQLQuery1 ist nicht die beste Lösung. Deine Komponenten tragen alle noch die von der IDE vorgeschlagenen Namen. Die Komposition des INSERT-Statements durch String concatenation ist nicht sicher - bisweilen fehlen dann Quotes. Die property SQL hat eine Eigenschaft Text, was oft ein SQL.Clear überflüssig macht. Eventuell solltest du dir mal die Komponente SQLDataset anschauen. Fehlerbehandlung ist noch keine sichtbar. Das reicht erstmal.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
rbertus2000

Registriert seit: 10. Apr 2006
13 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Token unknown

  Alt 11. Sep 2006, 22:33
Danke für die Antwort. Bei deiner Lösung erhalte ich aber trotzdem den gleichen Fehler. Na egal. Ich hab es jetzt mittels SqlDataset gemacht und es funktioniert super. Danke für den Tipp.
mfg rbertus2000
  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 06:56 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