![]() |
AW: Query mit Parameterübergabe und Sonderzeichen im Wert
Also:
1. Ich schreibe einen vorgefertigten SQL Befehl in eine temporäre Tabelle mit
Code:
SELECT t.* INTO #tempTable FROM (mein SQL Befehl) AS t
2. Anschließend wird folgender Befehl meinem UniQuery zugewiesen:
Code:
Gibt es noch eine Bedingung oder eine Sortierung wird diese hier an den SQL Befehl gehangen. In meinem Fall gibt es beides. Das ist der Befehl so wie er an das Query geschickt wird mit:
SELECT * FROM #tempTable WHERE ([Name] LIKE :fltprm_1) ORDER BY Name,Vorname,Datum,Uhrzeit,Ausweisnummer
Delphi-Quellcode:
myDS.SQL.Text := SQL
3. Dann werden anhand einer Parameterliste die Werte dem Query zugewiesen mit Hilfe von:
Delphi-Quellcode:
Die Listen wurde vorher gefüllt und auf Konsistenz geprüft.
for i := 0 to ParamFieldsLst.Count - 1 do
begin if myDS.FindParam(ParamFieldsLst.Strings[i]) <> nil then myDS.ParamByName(ParamFieldsLst.Strings[i]).Value := Variant(ParamValuesLst.Strings[i]); end; 4. Öffnen des Queries mit:
Delphi-Quellcode:
myDS.Open;
Habe anschließend beide Querys im SQL Management Studio ausgeführt. |
AW: Query mit Parameterübergabe und Sonderzeichen im Wert
Ich habe es jetzt anders gelöst:
Anstatt mit Parameterübergabe mache ich folgende Schritte: 1. Anhand der Parameterliste für jeden Parameter eine Variablendeklaration ins Query laden mit: myDS.SQL.Add(). 2. Anschließend anhand der Parameterliste die Variablen mit Werten füllen. 3. Den SQL Befehl hinzufügen, der sowieso bereits schon in das Query geladen wurde. Somit werden alle Suchanfragen (egal ob String, Integer oder Datumsfelder) erfolgreich ausgeführt. Dennoch vielen Dank an alle die mitgewirkt haben. Gruß, Moony |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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-2025 by Thomas Breitkreuz