读书人

操作access提示insert into语句的语法

发布时间: 2012-02-27 10:00:22 作者: rapoo

操作access提示insert into语句的语法错误
我在做delphi的一个小程序,做注册的功能的时候遇到了问题,以下是我的代码:

Delphi(Pascal) code
      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语句的语法错误’,看了网上文章,说是缺少‘[’,于是我把代码改成了
Delphi(Pascal) code
  with ADOQuery do  begin    Close;    SQL.Clear;    SQL.Add('insert into userinfo (username,password) values ([editRegUserName.Text][editRegUserName.Text])');    ExecSQL;    update;  end;

但是错误依旧,现在问题是这些语句直接在access里执行是完全没问题的,我用的是delphi7编辑器连接的数据库,测试连接成功,数据库开始设置了密码,后来我删除了密码,这些操作都不行,请问各位知道原因所在吗,望指点

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

读书人网 >.NET

热点推荐