unitmodifypassword.pas

来自「自己做过的工程」· PAS 代码 · 共 99 行

PAS
99
字号
unit unitmodifypassword;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  Tformmodifypassword = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    but_ok: TButton;
    but_cancel: TButton;
    Label1: TLabel;
    ed_newpassword: TEdit;
    Label2: TLabel;
    ed_affirm: TEdit;
    ed_password: TEdit;
    Label3: TLabel;
    procedure but_cancelClick(Sender: TObject);
    procedure but_okClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formmodifypassword: Tformmodifypassword;

implementation
      uses unitDMHotel,unitlogging;
{$R *.dfm}

procedure Tformmodifypassword.but_cancelClick(Sender: TObject);
begin
    close;
end;

procedure Tformmodifypassword.but_okClick(Sender: TObject);
var
    userpassword:string;
begin
    //验证原密码是否正确
    DMHotel.ds_sys_user.Open;
    DMHotel.ds_sys_user.Locate('username',username,[]);
    userpassword:=DMHotel.ds_sys_user.FieldByName('userpassword').AsString;
    DMHotel.ds_sys_user.Close;
    if userpassword<>ed_password.Text then
       begin
            showmessage('原密码不正确,请重新输入!');
            ed_password.Text:='';
            ed_newpassword.Text:='';
            ed_affirm.Text:='';
            ed_password.SetFocus;
            exit;
        end;

    //新密码与确认密码不一致
    if  trim(ed_newpassword.Text) <> trim(ed_affirm.Text)  then
        begin
            showmessage('新密码与确认密码不一致,请重新输入!');
            ed_newpassword.Text:='';
            ed_affirm.Text:='';
            ed_newpassword.SetFocus;
            exit;
        end;

    //修改sys_user表
    DMHotel.ADOConnection1.BeginTrans;  //定义事务
    SQL:='update sys_user set userpassword='+''''+ed_newpassword.Text+''''+' '+
         'where username='+''''+username+'''';
    DMHotel.ADOQuery1.SQL.Text:=SQL;
    try
        DMHotel.ADOQuery1.ExecSQL;
    except
        showmessage('修改密码失败!');
        DMHotel.ADOConnection1.RollbackTrans;  //失败回滚
    end;
    DMHotel.ADOConnection1.CommitTrans;        //成功提交

    showmessage('您的密码已改变!');

    close;

end;

procedure Tformmodifypassword.FormShow(Sender: TObject);
begin
    ed_password.Text:='';
    ed_newpassword.Text:='';
    ed_affirm.Text:='';
    ed_password.SetFocus;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?