![]() |
Datenbank: Postgre • Version: 9.0 • Zugriff über: Zeos
SQL Where Abfrage funktioniert nicht
Hallo,
ich versuch nun schon seid Stunden eine Datenbankabfrage zu realisieren und finde den fehler nicht. Folgenden Code verwende ich:
Delphi-Quellcode:
Nun erhalte ich immer den fehler das die Spalte hf nicht exsitiert. ich will aber in der spalte typ nur die zeilen in welchen hf steht haben.
a := 'hf';
sqltext := 'Select * From "' + 'testdb' + '" Where (typ = ' + a + ');'; sql2.SQL.Text := sqltext; sql2.Open; sql2.First; for i := 1 to sql2.RecordCount do begin memo1.Lines.Add(sql2.FieldByName('wert').AsString); sql2.Next; end; Ich hab schon stunden lang gegoogelt und alles mögliche versucht aber es tut nicht. MfG Willy P.S.: Wenn ich die Where abfrage weg lass tut es, dann halt mit allen Zeilen. |
AW: SQL Where Abfrage funktioniert nicht
Du solltest um das "a" noch Quotes setzen.
|
AW: SQL Where Abfrage funktioniert nicht
Tipp: Zusammengesetzt kommt das raus und nun rate mal, was du wirklich dort angibst.
Code:
[edit]
Select * From "testdb" Where (typ = hf);
zu langsam :cry: |
AW: SQL Where Abfrage funktioniert nicht
Mit Parametern wäre das nicht passiert.
|
AW: SQL Where Abfrage funktioniert nicht
Delphi-Quellcode:
hier kommt der selbe Fehler wie ohne die Quotes.
sqltext := 'Select * From "' + 'testdb' + '" Where (typ = "' + a + '");';
sql2.SQL.Text := sqltext; sql2.Open;
Delphi-Quellcode:
Hier kommt der Fehler Parameter 'parm' nich gefunden.
sqltext := 'Select * From "' + 'testdb' + '" Where (typ = :parm);';
sql2.ParamByName('parm').AsString := a; sql2.SQL.Text := sqltext; sql2.Open; MfG Willy P.S.: Fehler gefunden der Parameter muss weiter unten stehn.
Delphi-Quellcode:
sqltext := 'Select * From "' + 'testdb' + '" Where (typ = :parm);';
sql2.SQL.Text := sqltext; [B]sql2.ParamByName('parm').AsString := a;[/B] sql2.Open; |
AW: SQL Where Abfrage funktioniert nicht
Es kommt eben darauf an, wie man was quotet, :zwinker:
denn jedes Quote hat seine Bedeutung.
Delphi-Quellcode:
sqltext := 'Select * From "' + 'testdb' + '" Where (typ = ''' + a + ''');';
" oder nichts = Name (Feld, Tabelle und Co.) ' = Text/String ´ oder war's ` = auch ein Feldname? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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