Das Problem liegt darin wie bei ADODB die Parameter verwaltet werden.
In der Abfrage
SQL-Code:
SELECT DISTINCT Parent FROM Hierarchie h1a WHERE (h1a.Parent = :ParamInteger1)
UNION
SELECT ArtLink FROM
(SELECT ArtLink, Parent FROM Hierarchie h2a WHERE (h2a.Parent = :ParamInteger1))
befinden sich aus der Sicht von ADODB
zwei Parameter mit dem
gleichen Namen. Folgender Code
ADOQuery1.Parameters.ParamByName('ParamInteger1').Value := 1;
setzt allerdings nur den Parameter-Wert für den
ersten Parameter.
Hier hilft nur die Iteration durch die Parameter und die Abfrage des Namens.
Delphi-Quellcode:
for param in ADOQuery1.Paramerters do
begin
if param.Name = 'ParamInteger1' then
param.Value := 1;
end;