密码修改的问题

iamltlb 2008-05-02 10:45:04
总是跳出update语法错误,我实在找不出来了,求各位大侠看一下
--------------------------------------------------------------------------------------------------
with FormLogin.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from b1 where username=:username and password=:password');
Parameters[0].Value := trim(EditUsr.Text);
Parameters[1].Value := trim(EditPwd.Text);
open;
if isempty then
begin
showmessage('请核对您的用户名和密码信息!');
end
else
begin
close;
sql.Clear;
sqlstr:='update b1 set password ='''+trim(EditSPwd.Text)+'''where username ='''+trim(EditUsr.Text)+'''';
sql.Text:=sqlstr;
Open;
ShowMessage('密码修改成功!');
end;
end;
...全文
136 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamltlb 2008-05-09
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 pengxuan 的回复:]
要学会调试SQL语句
[/Quote]
我会的,从这里我也学了不少了,谢谢各位。
genispan 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 michelsn 的回复:]
用TADOQuery操作SQL语句的时候要记住如下特点:如果SQL语句是查询语句(SELECT语句)则用TADOQuery.Open,如果是非查询语句则用TADOQuery.ExecSQL
[/Quote]

为什么要这么写:[password],[username]

转义关键字?
iamltlb 2008-05-08
  • 打赏
  • 举报
回复
感谢xiaocha和wendream,终于成功了,只是还想问一下为什么要这么写:[password],[username]
pengxuan 2008-05-08
  • 打赏
  • 举报
回复
要学会调试SQL语句
SZ大伟 2008-05-05
  • 打赏
  • 举报
回复
用TADOQuery操作SQL语句的时候要记住如下特点:如果SQL语句是查询语句(SELECT语句)则用TADOQuery.Open,如果是非查询语句则用TADOQuery.ExecSQL
wendream 2008-05-05
  • 打赏
  • 举报
回复
with FormLogin.ADOQuery1  do 
begin
close;
sql.Clear;
sql.Add('select * from b1 where username=:username and password=:password');
Parameters[0].Value := trim(EditUsr.Text);
Parameters[1].Value := trim(EditPwd.Text);
open;
if isempty then
begin
showmessage('请核对您的用户名和密码信息!');
end
else
begin
close;
sql.Clear;
sqlstr:='update b1 set [password] ='''+trim(EditSPwd.Text)+'''where [username] ='''+trim(EditUsr.Text)+'''';
sql.Text:=sqlstr;
ExecSql;
ShowMessage('密码修改成功!');
end;
end;
bobo_911 2008-05-05
  • 打赏
  • 举报
回复
是不是前面 没有param.clear!
xiaocha 2008-05-04
  • 打赏
  • 举报
回复
试一试这样:
sql.Text := Format('update [b1] set [password]="%s" where [username]="%s"',[EditPsw.Text, EditUser.Text]);
sql.ExecSql;

另外,记得检查输入,如果EditPsw.Text和EditUser.Text中有"等字符时也不行!!!
jhldelphi 2008-05-04
  • 打赏
  • 举报
回复
with FormLogin.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from b1 where username=:username and password=:password');
Parameters[0].Value := trim(EditUsr.Text);
Parameters[1].Value := trim(EditPwd.Text);
open;
if isempty then
begin
showmessage('请核对您的用户名和密码信息!');
end
else
begin
close;
sql.Clear;
sqlstr:='update b1 set password ='''+trim(EditSPwd.Text)+'''where username ='''+trim(EditUsr.Text)+'''';
sql.Text:=sqlstr;
execsql;
ShowMessage('密码修改成功!');
end;
end;
jhldelphi 2008-05-04
  • 打赏
  • 举报
回复
with FormLogin.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from b1 where username=:username and password=:password');
Parameters[0].Value := trim(EditUsr.Text);
Parameters[1].Value := trim(EditPwd.Text);
open;
if isempty then
begin
showmessage('请核对您的用户名和密码信息!');
end
else
begin
close;
sql.Clear;
sqlstr:='update b1 set password ='''+trim(EditSPwd.Text)+'''where username ='''+trim(EditUsr.Text)+'''';
sql.Text:=sqlstr;
Open; //这里错拉 用execsql
ShowMessage('密码修改成功!');
end;
end;
wangj_0520 2008-05-04
  • 打赏
  • 举报
回复
execsql
阿三 2008-05-04
  • 打赏
  • 举报
回复
单步跟踪试一下看哪里出错了,把SQL截出来看看。
kaikai_kk 2008-05-03
  • 打赏
  • 举报
回复
update 语句不是用 open,是execsql

...
sql.Text:=sqlstr;
execsql;
ShowMessage('密码修改成功!');
end;
...
Wozhiyonglangqi 2008-05-03
  • 打赏
  • 举报
回复
update ,insert 语句就不要用 Open了 有 ExecSQL
Wozhiyonglangqi 2008-05-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 iamltlb 的回复:]
加空格也不行
[/Quote]又是什么错误
iamltlb 2008-05-03
  • 打赏
  • 举报
回复
加空格也不行
Wozhiyonglangqi 2008-05-03
  • 打赏
  • 举报
回复
where 前加个空格
bxyqt 2008-05-03
  • 打赏
  • 举报
回复
sqlstr:='update b1 set password ='''+trim(EditSPwd.Text)+''' where username ='''+trim(EditUsr.Text)+ '''';
sql.Text:=sqlstr;
先把下面的语句"execsql;"注释掉,然后加一个memo控件,并增加语句:memo1.lines.add(sqlstr);
//execsql;
ShowMessage('密码修改成功!');
end;

执行后看memo中的内容,并复制到你sql server中验证即可查明原因.
iamltlb 2008-05-03
  • 打赏
  • 举报
回复
还是语法错误,会不会是其他地方的问题。实在弄不出来,只有把这个搞掉了。
iamltlb 2008-05-03
  • 打赏
  • 举报
回复
这样应该是一样的吧,我再试试。
加载更多回复(2)

2,497

社区成员

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

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