begin
if application.MessageBox('确定修改吗?','密码管理',MB_OKCANCEL)=IDOK then
begin
query1.SQL.clear;
query1.SQL.add('select * from renyuanbiao where username='''+denglu.Edit1.Text+'''');
query1.open; if query1.FieldByName('password').AsString<>edit2.Text
then
StatusBar1.Panels[1].Text:= '原密码不对' ;
if(Edit3.Text<>Edit4.Text)
then
StatusBar1.Panels[1].Text:= '确认口令不对' else
begin
// query1.SQL.add('select * from renyuanbiao where name='''+Edit1.Text+''' and password='''+Edit2.Text+'''');
query1.SQL.clear;
query1.SQL.add('update renyuanbiao set password='''+Edit3.Text+''' where username='''+Edit1.Text+'''');
query1.ExecSQL();
StatusBar1.Panels[1].Text:= '密码修改成功!';
end
end
else
StatusBar1.Panels[1].Text:= '用户工号或密码错误!'; Query1.Close; end;这个逻辑上有什么问题啊
原密码不管对错都执行的
if application.MessageBox('确定修改吗?','密码管理',MB_OKCANCEL)=IDOK then
begin
query1.SQL.clear;
query1.SQL.add('select * from renyuanbiao where username='''+denglu.Edit1.Text+'''');
query1.open; if query1.FieldByName('password').AsString<>edit2.Text
then
StatusBar1.Panels[1].Text:= '原密码不对' ;
if(Edit3.Text<>Edit4.Text)
then
StatusBar1.Panels[1].Text:= '确认口令不对' else
begin
// query1.SQL.add('select * from renyuanbiao where name='''+Edit1.Text+''' and password='''+Edit2.Text+'''');
query1.SQL.clear;
query1.SQL.add('update renyuanbiao set password='''+Edit3.Text+''' where username='''+Edit1.Text+'''');
query1.ExecSQL();
StatusBar1.Panels[1].Text:= '密码修改成功!';
end
end
else
StatusBar1.Panels[1].Text:= '用户工号或密码错误!'; Query1.Close; end;这个逻辑上有什么问题啊
原密码不管对错都执行的
解决方案 »
- 求助如何多人合作开发项目的思路,谢谢
- 请问有什么比较方便的Grid控件,能支持打印的,还能修改单元格的颜色
- mkdir 的i/o错误,在执行Reset(F);出现
- 创业合作
- 在一个程序中看到DiskId:=GetHDSerialNumber;,GetHDSerialNumber明显不是系统函数,但我怎么也找不到这个函数的声明和实现部分在哪里。
- 我想查询入职日期=2002-8-12,sql如何查询(Access数据库)
- 请问Delphi6.0中UdpSock组件在哪?注意是UdpSock不是UdpSocket!!进去再说!!!!
- 用IDFTP连接FTP,怎么样获得某个文件夹下的所有文件名
- 请问哪里有最新的Quick Report 专业版 for D6下载?
- 无法安装只有dcu的控件。
- DBGrid 表格间数据自动计算
- 新手问题:在添加时检查表中是否有已存在的ID,大虾们不要吝啬啊~~
begin
query1.SQL.clear;
query1.SQL.add('select * from renyuanbiao where username='''+denglu.Edit1.Text+'''');
query1.open; if query1.FieldByName('password').AsString<>edit2.Text
then
StatusBar1.Panels[1].Text:= '原密码不对' ;
if(Edit3.Text<>Edit4.Text)
then
StatusBar1.Panels[1].Text:= '确认口令不对' else
Edit3.Text:='';
Edit4.Text:='';
end else
begin
// query1.SQL.add('select * from renyuanbiao where name='''+Edit1.Text+''' and password='''+Edit2.Text+'''');
query1.SQL.clear;
query1.SQL.add('update renyuanbiao set password='''+Edit3.Text+''' where username='''+Edit1.Text+'''');
query1.ExecSQL();
StatusBar1.Panels[1].Text:= '密码修改成功!';
end
end
else
StatusBar1.Panels[1].Text:= '用户工号错误!'; Query1.Close; end;这个哪里有错误啊!
end
把这个逻辑搞清楚先!!
空格需要过滤下:trim(edit1.text)
?!
begin
query1.SQL.clear;
query1.SQL.add('select * from renyuanbiao where username=''' + denglu.Edit1.Text + '''');
query1.open; if query1.FieldByName('password').AsString <> edit2.Text
then
StatusBar1.Panels[1].Text := '原密码不对';
if (Edit3.Text <> Edit4.Text)
then
StatusBar1.Panels[1].Text := '确认口令不对' else
Edit3.Text := '';
Edit4.Text := '';
end else
begin
// query1.SQL.add('select * from renyuanbiao where name='''+Edit1.Text+''' and password='''+Edit2.Text+'''');
query1.SQL.clear;
query1.SQL.add('update renyuanbiao set password=''' + Edit3.Text + ''' where username=''' + Edit1.Text + '''');
query1.ExecSQL();
StatusBar1.Panels[1].Text := '密码修改成功!';
end
end
else
StatusBar1.Panels[1].Text := '用户工号错误!'; Query1.Close;end;
begin
if application.MessageBox('确定修改吗?','密码管理',MB_OKCANCEL)=IDOK then
begin
query1.SQL.clear;
query1.SQL.add('select * from renyuanbiao where username='''+denglu.Edit1.Text+'''');
query1.open; if query1.FieldByName('password').AsString=edit2.Text
then
begin if(Edit3.Text=Edit4.Text)
then
begin
query1.SQL.clear;
query1.SQL.add('update renyuanbiao set password='''+Edit3.Text+''' where username='''+Edit1.Text+'''');
query1.ExecSQL();
StatusBar1.Panels[1].Text:= '密码修改成功!'
end
else
begin
StatusBar1.Panels[1].Text:= '确认口令不对' ;
Edit3.Text:='';
Edit4.Text:='';
end
end
else
StatusBar1.Panels[1].Text:= '原密码不对' ;
end
语法没错
就是无法修改密码