以下过程在运行时报错说 : insert into 的语法错误
procedure TDataModule2.insertrecord;
begin
  with ADOQuery1 do
    begin
      Close;
       SQL.Clear;
       SQL.Add('insert into User(UserName,Password) values(:User,:Pwd)');
        Parameters.ParamValues['User']:='ABC';
          Parameters.ParamValues['Pwd']:='123';
      ExecSQL;
    end;
end;

解决方案 »

  1.   

    SQL.Add('insert into User    (UserName,Password) values(:User,:Pwd)');
      

  2.   

    Sql.Text:='insert into User(UserName,PassWord)values('''+ Edit1.text + ''''+Edit2.text+'''';
      

  3.   

    看看:
    query2的sql为: insert into table values(:a1, :a2, ...:aN)程序中: Query2.ParamByName('a1').AsString := Query1.FieldByName('a1').AsString;Query2.ParamByName('a2').AsString := Query1.FieldByName('a2').AsString;......Query2.ParamByName('aN').AsString := Query1.FieldByName('aN').AsString;Query2.ExecSQL;
      

  4.   

    我知道什么问题了, 是我用的字段名 Password 有问题 我想可能是和 Access 中的保留字起了冲突, 我改成 PWD 就好, 谢谢大家, 不过这种问题以前有遇过,
      

  5.   

    对的,就好像在SQL Server中不能建立叫Grant的对象一样