帮忙修改密码!!

dpzhou 2001-12-20 11:22:22
为什么下面这段代码,修改不了,SQL server2000中建立的表的密码!
procedure Tpasswordchangefrm.BitBtn1Click(Sender: TObject);
var
asql:string;
begin
if trim(edit1.Text)='' then
begin
messagedlg('请输入新密码!',mtinformation,[mbok],0);
edit1.SetFocus;
end
else
if trim(edit2.Text)='' then
begin
messagedlg('请确认新密码!',mtinformation,[mbok],0);
edit2.SetFocus;
end
else
if trim(edit1.Text)<>trim(edit2.Text) then
begin
messagedlg('两次输入结果不一致!',mterror,[mbok],0);
edit1.SetFocus;
end
else
begin

query1.Close;
query1.sql.clear;
asql:=' update passcheck set password='''+passwordchangefrm.Edit1.Text+''' where (username='''+trim(loginfrm.ComboBox1.Text)+''') and (password='''+passwordchangefrm.Edit1.Text+''')';
query1.SQL.Text:=asql;
try
query1.ExecSQL;
messagedlg('密码修改成功!请记住新密码.',mtinformation,[mbok],0);
edit1.Clear;
edit2.Clear;
passwordchangefrm.Hide;
except
messagedlg('密码修改失败!',mtinformation,[mbok],0);
abort;
end;
end;
end;
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwwwww 2001-12-20
  • 打赏
  • 举报
回复
procedure Tf_passdlg.Button1Click(Sender: TObject);
var sUser,oldpass,newpass,firm_pass:string;
begin
if old_pass.Text = '' then
begin
MsgBox(f_passdlg.Handle,
'请输入旧密码!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
old_pass.SetFocus;
exit;
end;
oldpass := trim(old_pass.Text);
if new_pass.Text = '' then
begin
MsgBox(f_passdlg.Handle,
'请输入新密码!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
new_pass.SetFocus;
exit;
end;
newpass := trim(new_pass.Text);
if firmpass.Text = '' then
begin
MsgBox(f_passdlg.Handle,
'请输入验证密码!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
firmpass.SetFocus;
exit;
end;
firm_pass := trim(firmpass.Text);
sUser:= g_tsUserInfo.aryBsName;
if CheckUser(sUser, oldpass) =2 then
begin
MsgBox(f_passdlg.Handle,
'你输入的密码有误!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
old_pass.Text := '';
old_pass.SetFocus;
exit;
end;
if newpass <> firm_pass then
begin
MsgBox(f_passdlg.Handle,
'验证密码不正确,请重新输入密码!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
new_pass.Text:='';
firmpass.Text:='';
new_pass.SetFocus;
exit;
end;
if updatepass(sUser,newpass) then
begin
MsgBox(f_passdlg.Handle,
'密码修改成功!!', '提示',
mb_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_APPLMODAL);
new_pass.Text:='';
old_pass.Text:='';
firmpass.Text:='';
close;
end;

end;
function Updatepass(
i_User, i_Pwd : string
) : boolean;
var
sSql, sDbPwd : string;
begin
// construct sql sentence
sSql := 'update oadbo.oc_dlgl set pwd='''+ i_pwd + '''' +
'where bsname = ''' + i_User + '''';
try
frmComm.comQry.close;
frmComm.comQry.sql.clear;
frmComm.comQry.sql.add(sSql);
frmComm.comQry.ExecSQL;
Result:=true;
except
Result := false;
end;

end;
tommychim 2001-12-20
  • 打赏
  • 举报
回复
SQL语句错
update passcheck set password='''+passwordchangefrm.Edit1.Text+''' where (username='''+trim(loginfrm.ComboBox1.Text)+''') 后面的条件不能写
王集鹄 2001-12-20
  • 打赏
  • 举报
回复
asql:=
'update passcheck'#13#10 +
'set password=''' + passwordchangefrm.Edit1.Text + ''''#13#10 +
'where (username=''' + Trim(loginfrm.ComboBox1.Text) + '''';

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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