![]() |
Was stimmt nicht? --> SQL Abfrage
Hallo,
bei der Abfrage einer MySQL Datenbank erscheint folgender Fehler: SQL Error: You have an error in your SQL syntax near " at line 1. Was mache ich falsch?
Delphi-Quellcode:
Danke
procedure TForm1.SpeedButton1Click(Sender: TObject);
var LI: TListItem; q :string; begin q:= '%' + Edit1.Text + '%'; with ZReadOnlyQuery1 do begin close; SQL.Clear; SQL.Add ('SELECT * FROM Adresse WHERE'); SQL.Add ('ID LIKE :ID OR '); SQL.Add ('Name LIKE :Name OR '); SQL.Add ('Vorname LIKE :Vorname OR '); SQL.Add ('Adresse LIKE :Adresse OR '); SQL.Add ('PLZ LIKE :PLZ OR '); SQL.Add ('Stadt LIKE :Stadt OR '); ParamByName ('ID').AsString := q; ParamByName ('Name').AsString := q; ParamByName ('Vorname').AsString := q; ParamByName ('Adresse').AsString := q; ParamByName ('PLZ').AsString := q; ParamByName ('Stadt').AsString := q; open; ListView1.Items.BeginUpdate; Listview1.Items.Clear; while not (EOF) do begin LI := Listview1.Items.Add; LI.ImageIndex := 0; LI.Caption := (FieldByName('ID').AsString); LI.SubItems.Add(FieldByName('Name').AsString); LI.SubItems.Add(FieldByName('Vorname').AsString); LI.SubItems.Add(FieldByName('Adresse').AsString); LI.SubItems.Add(FieldByName('PLZ').AsString); LI.SubItems.Add(FieldByName('Stadt').AsString); Next; end; ListView1.Items.EndUpdate; close; end; end; Thomas |
Re: Was stimmt nicht? --> SQL Abfrage
Schnellschuss: versuch mal zwischen dem letzten Q.SQL.Add und dem ersten Q.SQL.ParamByName ein Q.Prepare einzufügen.
|
Re: Was stimmt nicht? --> SQL Abfrage
@Leuselator -> Augen auf :cyclops: :wink:
@Plaque nimm das letzte "OR" weg -> danach kommt doch kein Vergleich mehr! |
Re: Was stimmt nicht? --> SQL Abfrage
Hat nichts gebracht.
Das verwunderliche ist auch, dass es mit dem Code in einem anderen Programm funktioniert. Was kann es sein...??? |
Re: Was stimmt nicht? --> SQL Abfrage
mit dem "OR" am Ende? :gruebel: Das geht nicht...
|
Re: Was stimmt nicht? --> SQL Abfrage
könnte mir vorstellen dass du die echten strings so angeben musst:
ParamByName ('Name').AsString := quotedstr(q); |
Re: Was stimmt nicht? --> SQL Abfrage
Zitat:
Delphi-Quellcode:
... ergibt dann ...
...
q:= 'Hallo'; ParamByName ('Name').AsString := quotedstr(q);
Delphi-Quellcode:
... in der Variable.
#39 + 'Hallo' + #39
|
Re: Was stimmt nicht? --> SQL Abfrage
Ich bin soooo dumm...
Doch, die Variante mit dem OR wegmachen, hat gestimmt... Es klappt jetzt... Danke Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz