![]() |
SQL-Anfrage mit 2 Parametern
Hi...
Das Topic habe ich vielleicht ein wenig falsch formuliert aber ich wußte nicht wie ich das anders hätte schreiben sollen...
Delphi-Quellcode:
Ich bekomme aber keine Ergebnisse zurück :gruebel: Kann ich einen Spaltennamen überhaupt als Parameter übergeben?
if Checkbox1.Checked then Parameter1 := 'Spaltenname1'; //Parameter1 Variable vom Typ String
if Checkbox2.Checked then Parameter1 := 'Spaltenname2'; if Checkbox3.Checked then Parameter1 := 'Spaltenname3'; with ADOQuery1 do begin Close; SQL.Clear; SQL.ADD('SELECT * FROM TABELLE '+ 'WHERE '+ ':v_PARAMETER1 LIKE :v_PARAMETER2 '); Prepared := true; with Parameters do begin ParamByName('v_PARAMETER1').Value := Parameter1; //eine Spalte aus der Tabelle ParamByName('v_PARAMETER2').Value := Edit1.Text +'%'; end; try Open; except ShowMessage('Query Konnte nicht geöffnet werden!'); end; end; Greets |
Re: SQL-Anfrage mit 2 Parametern
Ich glaube, du verwechselst Feldnamen mit Feldwerten. Oder was nützt es, innerhalb der Daten irgendwas zu finden, das Ähnlichkeiten mit einem Spaltennamen hat ? :gruebel:
|
Re: SQL-Anfrage mit 2 Parametern
Hallo Mike!
Zitat:
Aber Du kannst beim Aufbau des SQL-Statements den Spaltennamen dynamisch einfügen, etwa so:
Code:
Das müßte Dein Problem schon beheben.
SQL.Clear;
SQL.ADD('SELECT * FROM TABELLE '+ 'WHERE '+ Parameter1 + 'LIKE :v_PARAMETER2 '); Niels |
Re: SQL-Anfrage mit 2 Parametern
Nein kannst du nicht, das wurde hier aber bestimmt schon 5 mio. mal gefragt.
Warum sollte man das auch wollen? :gruebel: Ein Parameter ist eine Variable. In Delphi würdest du doch auch nicht sowas schreiben:
Delphi-Quellcode:
var
Param :string; Variable1,Variable2,Variable3 :Integer; begin Variable1 := 1; Variable2 := 2; if X then Param := 'Variable1' else Param := 'Variable2'; Variable3 := Param; end; |
Re: SQL-Anfrage mit 2 Parametern
SORRY ich habe mal wieder viel zu schnell getippt als nachgedacht.... :wall: :oops:
Habe schon eine Lösunge gefunden wie sie nieurig beschrieben hatte... Sorry nochmals... Greets |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 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