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

yxly2008 2011-11-21 01:45:44
我在做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编辑器连接的数据库,测试连接成功,数据库开始设置了密码,后来我删除了密码,这些操作都不行,请问各位知道原因所在吗,望指点
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxly2008 2011-11-21
  • 打赏
  • 举报
回复
哦 明白了 多谢
lhy 2011-11-21
  • 打赏
  • 举报
回复
谁让你在后面加中括号的,应该是userinfo、username、password这几个可能和系统的某些关键词重名,所以需要加中括号。
funxu 2011-11-21
  • 打赏
  • 举报
回复
insert into userinfo ([username],[password]) values(:a,:b)
cheng4214 2011-11-21
  • 打赏
  • 举报
回复
不能用password 把表项改了,换个名字叫ipassword或者upassword 楼主可以试试
yxly2008 2011-11-21
  • 打赏
  • 举报
回复
第二段代码编辑的时候删了一个逗号,我的代码是这样
SQL.Add('insert into userinfo (username,password) values ([editRegUserName.Text],[editRegUserName.Text])');

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧