为什么带参数的FireDAC SQL Server查询失败?

时间:2016-03-04 18:43:20

标签: delphi firedac

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

(一旦我开始工作,我计划使用DML。)

为什么我收到此错误:

  

[FireDAC] [Phys] [ODBC] [Microsoft] [SQL Server Native Client 11.0]
  [SQL Server]'附近的语法不正确:'。

使用此查询:

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;

1 个答案:

答案 0 :(得分:2)

Ken和Johan:感谢您的评论。

此处有人将连接 ResourceOptions.ParamCreate和ParamExpand设置为false。

覆盖FDQuery中的问题消除了这个问题。

再次感谢你。