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

汤姆

这是我第一次使用参数进行查询。(在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;
汤姆

肯(Ken)和约翰(Johan):感谢您的评论。

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

在FDQuery中覆盖它可以解决此问题。

再次感谢你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章