Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query mit Parameterübergabe und Sonderzeichen im Wert (https://www.delphipraxis.net/165579-query-mit-parameteruebergabe-und-sonderzeichen-im-wert.html)

Moony 10. Jan 2012 12:31

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:
SELECT * FROM #tempTable WHERE ([Name] LIKE :fltprm_1) ORDER BY Name,Vorname,Datum,Uhrzeit,Ausweisnummer
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:
Delphi-Quellcode:
myDS.SQL.Text := SQL


3. Dann werden anhand einer Parameterliste die Werte dem Query zugewiesen mit Hilfe von:

Delphi-Quellcode:
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;
Die Listen wurde vorher gefüllt und auf Konsistenz geprüft.

4. Öffnen des Queries mit:
Delphi-Quellcode:
myDS.Open;

Habe anschließend beide Querys im SQL Management Studio ausgeführt.

Moony 10. Jan 2012 13:53

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 15:50 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz