例如:
我在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;
当我运行这个时,会出现一个不支持的错误.
请指导我……非常感谢你…
最佳答案 我在想这样的事情:
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/