例如:
我在SQL中有一个数据表类型:
CREATE TYPE dbo.typTable1 AS TABLE
(
Field1 INT NOT NULL,
Field2 NVARCHAR(20) NULL
)
SQL中的存储过程,如下所示:
CREATE PROCEDRE dbo.prcTest
@XDataTable dbo.typTable1 READONLY
AS
BEGIN
.
.
.
现在问题!!! : 当我在delphi中发送一个表作为参数时:
FireDACStoredProcedure.Params.ParamByName('@XDataTable').AsDataset :=
FireDACMemTable;
当我运行此操作时,会出现一个错误,表示不支持。
请指导我......非常感谢你......
答案 0 :(得分:1)
我在想这样的事情:
Set the DataType = ftObject;
Set datatypename = <your_procedureName>.<your_parameter>
With FireDACStoredProcedure.Params.ParamByName('@XDataTable') do
begin
DataType := ftObject;
DataTypeName := 'prcTest.@XDataTable';
end;
灵感来自https://delphiaball.co.uk/2016/04/29/interbase-array-fields-firedac/