我在做delphi的一个小程序,做注册的功能的时候遇到了问题,以下是我的代码:
      userName := editRegUserName.Text;
      passWord := editRegPwd.Text;
      sql1 := 'insert into userinfo (username,password) values(:a,:b)';
      ADOQuery.close;
      ADOQuery.SQL.Clear;
      ADOQuery.sql.add(sql1);
      ADOQuery.parameters.ParamByName('a').Value:=userName;
      ADOQuery.parameters.ParamByName('b').Value:=passWord;
      ADOQuery.execsql;程序一直报‘insert into语句的语法错误’,看了网上文章,说是缺少‘[’,于是我把代码改成了  with ADOQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('insert into userinfo (username,password) values ([editRegUserName.Text][editRegUserName.Text])');
    ExecSQL;
    update;
  end;但是错误依旧,现在问题是这些语句直接在access里执行是完全没问题的,我用的是delphi7编辑器连接的数据库,测试连接成功,数据库开始设置了密码,后来我删除了密码,这些操作都不行,请问各位知道原因所在吗,望指点

解决方案 »

  1.   

    第二段代码编辑的时候删了一个逗号,我的代码是这样
    SQL.Add('insert into userinfo (username,password) values ([editRegUserName.Text],[editRegUserName.Text])');
      

  2.   

    不能用password   把表项改了,换个名字叫ipassword或者upassword  楼主可以试试
      

  3.   

    insert into userinfo ([username],[password]) values(:a,:b)
      

  4.   

    谁让你在后面加中括号的,应该是userinfo、username、password这几个可能和系统的某些关键词重名,所以需要加中括号。