这是我第一次使用参数进行查询。 (在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;
答案 0 :(得分:2)
Ken和Johan:感谢您的评论。
此处有人将连接 ResourceOptions.ParamCreate和ParamExpand设置为false。
覆盖FDQuery中的问题消除了这个问题。
再次感谢你。