FireDac TFDScript.ExecScript()不起作用

时间:2016-08-05 03:43:43

标签: delphi firedac

我有一个装有2个脚本的TFDScript组件。

在我的代码中,我尝试使用

执行选定的脚本
TFDScript1.ExecuteScript('InsertScript');

但我收到此错误

[DCC Error] StartTask.pas(77): There is no overloaded version of 'ExecuteScript' that can be called with these arguments

1 个答案:

答案 0 :(得分:2)

查看the documentation,您预计会传递TStrings个实例,但是您只是尝试传入String。您需要创建一个TStringList实例并将其作为参数传递。您收到的特定错误表示您传递的参数与预期的参数不同。

var
  Script: TStringList;
begin
  Script:= TStringList.Create;
  try
    Script.Text:= 'Some SQL Script';
    FDScript1.ExecuteScript(Script);
  finally
    Script.Free;
  end;
end;

如果您已加载脚本,请改为调用ExecuteAll

如果由于某种原因,您希望一次只执行一个脚本,则创建多个TFDScript实例。该组件似乎并非设计为一次只运行多个脚本中的一个。