Если кому-то интересно, то конечный вариант таков:
| Код | procedure TfrmTabVarFillValue.btnOKClick(Sender: TObject); var
Table : Variant; packApTESTest: TApTESTest; AOwner : TComponent; i, j : Integer; t : TOracleQuery; begin AOwner := nil; t := TOracleQuery.Create(AOwner); t.Session:= DM.DB; t.DeclareVariable('function_result', otFloat); t.DeclareVariable('param1', otFloat); t.SQL.Add('begin'); t.SQL.Add(' :function_result := TEST_TEST.DVsHistParam('); t.SQL.Add(' param1 => :param1);'); t.SQL.Add('end;');
DeclareVariable('param1', otFloat); DimPLSQLTable('param1', 100, 0); j := Length(GridDataValue); If j > 0 then begin Table := VarArrayCreate([0, j-1], varVariant); For i := 0 to j-1 do Table[i] := GridDataValue[i].SGN_ID end else Table := VarArrayCreate([0, j], varVariant); t.SetVariable('param1', Table); t.Execute;
end;
|
|