![]() |
Datenbank: MSSQL • Version: ? • Zugriff über: TADO Query
OpenParamQuery benutzen
Hi Leute,
hab mal eine Frage, bin aktuell dabei einen OpenParamQuery Befehl zu nutzen, weiß aber nicht 100%ig was wo rein muss. Und zwar habe ich das so in einem älteren Programm von mir gefunden und bin mir nicht mehr sicher was ich für die "??" einsetzen muss.
Delphi-Quellcode:
Query1 := OpenParamQuerySQL(Query2, 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr', ['LfdNr'], [??], Connection1, (true));
|
AW: OpenParamQuery benutzen
Die Funktion hast du oder jemand anderes der mit dir arbeitet geschrieben.
Da kann dir hier keiner eine Antwort geben. Wobei ich schätze dass es ein Array mit den Parameter-Werten sein soll. Aber ich würde einfach ganz normal eine Query mit der SQL erstellen, Parameter setzen und öffnen. Ist deutlich übersichtlicher als dieses Monster. |
AW: OpenParamQuery benutzen
Ja das Problem ist, dass das Programm etwas umständlicher ist und ich das mit einer normalen Query nicht hinbekomme, aber dann frage ich meinen Kollegen mal, ob er mir das nochmal erklären kann.
Aber trotzdem danke. |
AW: OpenParamQuery benutzen
Das hat nix mit nem umständlichen Programm zu tun.
Delphi-Quellcode:
=
OpenParamQuerySQL(Query2, 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr', ['LfdNr'], [??], Connection1, (true));
Delphi-Quellcode:
var query: TQuery; // Oder welche Komponente von welchem Hersteller auch genutzt werden soll
begin query := TQuery.Create(Connection1); try query.RequestLive := true; // Spekulation. query.SQL.Text := 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr'; query.ParamByName('LfdNr').AsInteger := ??; query.Open(); // Mach was mit den Daten (while not query.Eof do begin Bla = query.FieldByName('FELD').AsString/AsInteger/...) query.Close(); finally query.Free; end; end; |
AW: OpenParamQuery benutzen
@Luca Haas
Es wäre u.U sinnvoll, wenn Du den Source dieser OpenParamQuerySQL posten würdest. z.Zt. können wir hier nur spekulieren was da stattfindet. Neutral General hat wohl seine Kugel gerade geputzt:glaskugel: Gruß K-H |
AW: OpenParamQuery benutzen
Tut mir Lied, das länger keine Info´s von mir kame, mit wurde gesagt, dass ich das OpenParamQuery noch gar nicht benutzen soll :oops:.
Stattdessen habe ich das hier benutzt:
Delphi-Quellcode:
begin
Query.Close(); Query.SQL.Text := 'SELECT MAX(ID) AS nextNr FROM TableWHERE LfdNr = :LfdNr'; Query.Paramcheck := true; Query.Parameters.ParamByName('LfdNr').DataType := ftInteger; Query.Parameters.ParamByName('LfdNr').Value := LfdNr; Query.Open(); result := Query.FieldByName('nextNr').AsInteger + 1; end; es kamen noch 1-2 Sachen dazu, weswegen es evtl nicht ganz die selbe Funktion hat wie sie es heute morgen noch hatte. |
AW: OpenParamQuery benutzen
Delphi-Quellcode:
//Das hier ist nur einmal nötig //Query.Close; ist nicht nötig Query.Paramcheck := true; //besser vor der Zuweisung der Abfrage, dass diese Einstellung auch wirkt Query.SQL.Text := 'SELECT MAX(ID) AS nextNr FROM TableWHERE LfdNr = :LfdNr'; Query.Parameters.ParamByName('LfdNr').DataType := ftInteger; //Später nur noch dies Query.Parameters.ParamByName('LfdNr').Value := LfdNr; Query.Open; result := Query.FieldByName('nextNr').AsInteger + 1; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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