为什么这个带有参数的 FireDAC SQL 服务器查询失败?

Why is this FireDAC SQL Server query with parameters failing?

这是我第一次使用参数进行查询。 (在 SQL 服务器中使用 Delphi Seattle 和 FireDAC)

(我打算在我开始工作后使用 DML。)

为什么会出现此错误:

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0]
[SQL Server]Incorrect syntax near ':'.

使用此查询:

procedure TForm2.Button1Click(Sender: TObject);
var
  FDParam: TFDParam;
begin
  FDQuery1.SQL.Text := 'CREATE TABLE TestTable (Column1 Int)';
  FDQuery1.ExecSQL;

  FDQuery1.SQL.Text := 'INSERT INTO TestTable (Column1) VALUES (111)';
  FDQuery1.ExecSQL;  // works fine

  FDParam := FDQuery1.Params.Add;
  FDParam.Name := 'Column1';
  FDParam.DataType := ftInteger;
  FDParam.Paramtype := ptInput;

  FDQuery1.SQL.Text := 'INSERT INTO TestTable (Column1) VALUES(:Column1)' ;
  FDQuery1.ParamByName('Column1').AsInteger := 222;
  FDQuery1.ExecSQL;  // FAILS 
end;

Ken 和 Johan:感谢您的评论。

这里有人将 连接的 ResourceOptions.ParamCreate 和 ParamExpand 设置为 false。

在 FDQuery 中覆盖它消除了问题。

再次感谢。