![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos (noch) .-)
IN mit einem Parameter
Hallo alle miteinander...:hi:
ist es möglich ein:
Code:
als einzigen Parameter mit verschiedenen Mengen an Strings abzusetzen oder ist das eine Sackgasse ? Diverse Varianten mit QuotedStr schlugen fehl. Ich würde das ganze ungern als String zusammensetzen bzw. über mehrere Parameter da die Anzahl bei jeder Abfrage unterschiedlich ist.
.... from TABLE where XXX IN (:Parameter)
Danke für Infos... Ich probiere derweil weiter :zwinker: |
AW: IN als Parameter
Geht leider nicht.
ich ersetzt in diesem Fall immer die Zeile des Staements.
SQL-Code:
select
... from <Tabelle> where Feld in () ;
Delphi-Quellcode:
DataSet.SQL[6] := '(1,2)';
|
AW: IN mit einem Parameter
mir ist keine andere Möglichkeit bekannt als den SQL zusammenzusetzen.
|
AW: IN mit einem Parameter
Vielen Dank an Euch...
machmal spart gleich fragen viel Zeit :zwinker: Dann kann ich ja aufhören mich zu quälen. Dann setze ich das mal schön in einer Schleife zusammen. Ein schönes Wochenende noch :hi: |
AW: IN mit einem Parameter
Nur um es nochmal genau zu sagen:
Diese Parameter ala ":name" oder "?" usw. (jenachdem welches DBMS man nutzt) stehen für je genau einen Wert. Also egal was man an soeinen Parameter übergibt und wie es formatiert ist, es wird immer nur als ein Wert (in deinem Fall ein String) ausgewertet. War leider auch schon in diese "Falle" getappt und wollte genau das Gleiche versuchen. :oops: |
AW: IN mit einem Parameter
Trotzdem würde ich bei Parametern bleiben
Code:
sonst fummelt man sich einen mit Quotes etc. zu Tode
Where Feld In (:InPar1, :InPar2, ...)
|
AW: IN mit einem Parameter
@Sir Rufo
der Witz bei den IN-Parametern ist üblicherweise daß die Anzahl der Elemente variabel ist, zb der Benutzer in einer Checklistbox bestimmte Elemente ausgewählt hat. |
AW: IN mit einem Parameter
Zitat:
Delphi-Quellcode:
Die Kommas fehlen noch, aber der Ansatz sollte nun klar sein.
for idx := 1 to AnzahlParameter do
InParamStr := InParamStr + Format( ':InParam%d', [ idx ] ); Die Werte jetzt den Parametern zuweisen und dann abschicken. |
AW: IN mit einem Parameter
hmmm... ich hab jetzt zwar den String schon zusammengesetzt aber ich schau mir die Parametervariante morgen mal an. Für heute reicht es :zwinker:
Danke an alle... |
AW: IN mit einem Parameter
@Sir Rufo
sorry, ich hatte Dich wirklich falsch verstanden, aber eine Schleife mit QuotedStr()+',' und an Schluß das letzte Komma wegschmeißen empfinde perönlich ich als weniger aufwändig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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