操作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这几个可能和系统的某些关键词重名,所以需要加中括号。