cformnewuser.pas

来自「Delphi深度探索,Delphi深度探索(第二版)」· PAS 代码 · 共 83 行

PAS
83
字号
{-----------------------------------------------------------------------------
 Unit Name: CFormNewUser
 Author:    hubdog(陈省)
 Email:     hubdog@263.net
 Purpose:   注册新用户的界面
 History:
            2003-5-6 创建本单元
-----------------------------------------------------------------------------}


unit CFormNewUser;

interface

uses
  Classes, SysUtils, IWAppForm, IWApplication, IWTypes, Controls,
  IWBaseControl, IWControl, IWCompButton, IWCompLabel, IWCompEdit,
  IWMaskEdit, Variants;

type
  TformNewUser = class(TIWAppForm)
    iwbtnOK: TIWButton;
    iwbtnCancel: TIWButton;
    iweUserName: TIWEdit;
    iwl1: TIWLabel;
    IWLabel1: TIWLabel;
    iwmPass: TIWMaskEdit;
    procedure iwbtnOKClick(Sender: TObject);
    procedure iwbtnCancelClick(Sender: TObject);
  public
  end;

implementation

{$R *.dfm}

uses
  ServerController, DatamoduleUnit, CFormLogin, CWebUtils;

procedure TformNewUser.iwbtnOKClick(Sender: TObject);
var
  v:Variant;
begin
  if (trim(iweUserName.Text)='') or (trim(iwmPass.Text)='') then
  begin
    WebApplication.ShowMessage('必须输入用户名和密码');
    Exit;
  end;
  //检查用户名是否已经存在了
  with dmHR do
  begin
    badoOperator.Active:=True;
    v:=trim(iweUserName.text);
    if badoOperator.Locate('OperName', v , []) then
    begin
      WebApplication.ShowMessage('该用户名已经被使用了,请重新输入');
      Exit;
    end
    else
    begin
      //向数据库中写入新的用户名及密码
      adocHr.BeginTrans;
      try
        //由于表中字段命名为Password,导致执行Insert Into语句失败
        //所以将Password字段改名为OperPass
        adocEdit.CommandText:=format('Insert into TblOperator (OperName, OperPass, VisitTimes) Values(''%s'', ''%s'', 0)', [trim(iweUserName.Text), trim(iwmPass.Text)]);
        adocEdit.Execute;
        adocHr.CommitTrans;
      except
        adocHr.RollbackTrans;
      end;
    end;
    Move(TFormLogin);
  end;
end;

procedure TformNewUser.iwbtnCancelClick(Sender: TObject);
begin
  Move(TformLogin);
end;

end.

⌨️ 快捷键说明

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