Hallo,
Zitat von
Jürgen Thomas:
Hallo,
von dem Vorgehen von nahpets #6 möchte ich abraten, weil dann der Vorteil von Parametern nicht genutzt werden kann. Alternativen werden in
FIBPlus + IN () - ParamByName(..).As.. besprochen.
Vielleicht ist etwas davon eine sinnvolle Anregung.
Gruß Jürgen
Meine Güte, seid Ihr schnell.
jain, natürlich geht bei meiner Methode der Vorteil von Parametern flöten, aber mir ist keine Möglichkeit bekannt, ein
SQL mit Parametern zu versehen, von denen ich zu Entwicklungszeit die Menge der Parameter nicht kenne.
Natürlich könnte man hergehen und das
SQL mit 10 Parametern versehen, diese, soweit Werte bekannt sind, entsprechend füllen und die verbleibenden Parametern mit solchen Werten versehen, die garantiert zu keinem Ergebnis führen (Frage, wie muss ein Namensparameter aussehen, damit der Name garantiert nicht gefunden wird?).
Und was ist, wenn der 11. Parameter benötigt wird?
Man könnte zur Laufzeit auch das
SQL erweitern um die benötigte Anzahl von
or Name like ':Parameter1' ... or Name like ':ParameterN'
und anschließend diese Parameter mit Werten versehen.
Man hat hier zwei Möglichkeiten: Ein parametrisiertes, festes
SQL, dass ggfls. nicht ausreicht oder mit Dummywerten versehen wird oder man baut es zur Laufzeit entsprechend den Anforderungen zusammen.
Wenn ich die auf der verlinkten Seite gezeigte Verfahrensweise richtig interpretiere, wird dort letztlich ein Parameter gefüllt, der eine mehr oder weniger große Teilmenge der Wherebedingung enthält. Meine Post #6 und #9 führen letztlich zu genau diesem Ergebnis.