self.editADOQuery.Close;
self.editADOQuery.SQL.Clear;
self.editADOQuery.SQL.Text:='update sys set password=:newpas where name=:username';
self.editADOQuery.Parameters.ParamByName('newpas').Value:=(self.newpas1Edit.Text);
self.editADOQuery.Parameters.ParamByName('username').Value :=(self.lblusername.Caption);
self.editADOQuery.Open;
ShowMessage('密码修改成功!');
总是提示update语法错误!请问高手这是为什么?帮忙!
self.editADOQuery.SQL.Clear;
self.editADOQuery.SQL.Text:='update sys set password=:newpas where name=:username';
self.editADOQuery.Parameters.ParamByName('newpas').Value:=(self.newpas1Edit.Text);
self.editADOQuery.Parameters.ParamByName('username').Value :=(self.lblusername.Caption);
self.editADOQuery.Open;
ShowMessage('密码修改成功!');
总是提示update语法错误!请问高手这是为什么?帮忙!
解决方案 »
- java初级学习。。。一个小case
- 求购猫ing...
- 如何实现在delphix下使用popmenu
- 请大虾快救我!我的主窗口设为MDIFORM,其中放置了面板,可在菜单中为什么打不开子窗口,(子窗口是MDICHILD)?
- 用delphi的兄弟们现在能拿多少工资呀!
- 如何找到数字证书并签名
- indy 中 HTTPServer 为什么不能使用中文
- 一个无关痛痒的问题!
- 一个Flatstyle控件(平面控件)使用问题,也不难。可我不会
- 我用ADO连接一Access数据库,当把表中记录删完后关闭程序出错。WHY?
- 如何将exe文件的代码转为可线程插入的dll文件的代码
- 寻在北京的Delphi熟手做一个小程序,急,待遇面谈
self.editADOQuery.Parameters.ParamByName('username').AsString :=(self.lblusername.Caption);
建议:
self.editADOQuery.Prepared;
self.editADOQuery.Open;
self.editADOQuery.SQL.Clear;
self.editADOQuery.SQL.Text:='update [sys] set [password]=:newpas where [name]=:username';
self.editADOQuery.Parameters.ParamByName('newpas').Value:=(self.newpas1Edit.Text);
self.editADOQuery.Parameters.ParamByName('username').Value :=(self.lblusername.Caption);
self.editADOQuery.Open;
ShowMessage('密码修改成功!');这样试试,估计是因为access的关键字跟你的表名或字段名重名了,加个中括号区分一下
editADOQuery.SQL.Text := 'update sys set password = '''+ newpas1Edit.Text +'''where name='''+lblusername.Caption+'''';
;
self.editADOQuery.SQL.Clear;
self.editADOQuery.SQL.Text:=format('update sys set password=''%s'' where name=''%s''),[self.newpas1Edit.Text,self.lblusername.Caption]);
self.editADOQuery.Open;
这样改造一下试试呢....如果不行,在Open之前加个showmessage(self.editADOQuery.SQL.Text)看看查询语句是否有误