My code looks something like the following. It works if all item values are set. But I need NULL for some values, so I use ItemClear(x) in these cases.
Code: Select all
OraSQL1.ParamByName('Param1').DataType := ftLargeInt;
OraSQL1.ParamByName('Param2').DataType := ftString;
OraSQL1.ParamByName('Param1').Length := 1000;
OraSQL1.ParamByName('Param2').Length := 1000;
for i := 1 to 1000 do
begin
if (i == 5) then // stupid random example or course
begin
OraSQL1.ParamByName('Param1').ItemClear(i);
end
else
begin
OraSQL1.ParamByName('Param1').ItemValue[i] := 123;
end;
OraSQL1.ParamByName('Param2').ItemValue[i] := 'some text';
end;
OraSQL1.Execute(1000);
If all items have actual values it works. If I use ftInteger instead of ftLargeInt is also works. But I need to use Int64 here.
Is there a way to make it work?
Thanks,
Markus
BTW: I'm using ODAC 9.2.7