![]() |
ParamByName & SQL
Hallo!
Kennt sich jemand von euch mit ParamByName aus? Habe das schon mal verwendet mit LIKE zusammen, da bin ich auch wunderbar zu recht gekommen. Jetzt lasse ich mir alle Tabellen in einer ComboBox anzeigen und ich möchte die ausgewählte gleich anzeigen lassen. Ist das über Params überhaupt möglich? Momentan sieht es so aus :
Code:
Bekomme jedoch immer die Meldung, ungültiger Dateiname.
Query1.SQL.Clear;
stmtParams := TParams.Create; stmtParams.CreateParam(ftString, 'DBName', ptInput ); stmtParams.ParamByName('DBName').AsString := OvcFileComboBox1. Items[OvcFileComboBox1.ItemIndex]; Query1.SQL.Add( ' SELECT * FROM '':DBName'''); Query1.Prepare; Query1.ExecSQL(); Query1.Open; Query1.Close; Jedoch gibts die gewählten Datein. Danke im voraus Gruß TESTER |
Re: ParamByName & SQL
Soweit mir bekannt ist, darf der Tabellennamen in SQL-Anweisungen nicht parametrisiert werden. Du wirst also den SQL-String "zusammenbauen" müssen.
Delphi-Quellcode:
Query1.SQL.Text := 'select * from ' + DBName;
Query1.Open; |
Re: ParamByName & SQL
Spontane Idee, ohne es zu testen:
Delphi-Quellcode:
Query1.SQL.Clear;
// stmtParams := TParams.Create; // stmtParams.CreateParam(ftString, 'DBName', ptInput ); Query1.SQL.Add( ' SELECT * FROM :DBName'); stmtParams.ParamByName('DBName').AsString := OvcFileComboBox1. Items[OvcFileComboBox1.ItemIndex]; Query1.Prepare; // Query1.ExecSQL(); // wozo vor Open? Query1.Open; Query1.Close; |
Re: ParamByName & SQL
Stimme ich zu, die Position vom Parameter ist mir gar nicht aufgefallen :oops:
|
Re: ParamByName & SQL
Genau das wollt ich auch gerade posten.
Denn so funktionierts.:lol: Danke für Eure Mühe! Gruß TESTER |
Re: ParamByName & SQL
Zur besseren Übersicht :
Code:
Hab mich wohl von einem anderen Beitrag beirren lassen, deshalb der erste Versuch mit Param.
var
lwert : string; begin lwert := ComboBox1.Items[ComboBox1.ItemIndex]; Query1.SQL.Clear; Query1.SQL.Add('SELECT * FROM '+lwert); Query1.Prepare; Query1.Open; Gruß TESTER |
Re: ParamByName & SQL
arbeite doch gleich mit Query1.SQL.Text, dann sparst Du Dir den Aufruf von Clear :spin:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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