这是我第一次使用参数进行查询。(在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] 删除。
我来说两句