class_user.~pas

来自「自己编写的在Delphi下进行图像开发的空间可以向」· ~PAS 代码 · 共 108 行

~PAS
108
字号
unit class_user;

interface
uses SysUtils,Dialogs, ADODB, Forms;

type
  TUser = class
  private
    FUserName: string;
    FUserPassword:string;
    FUserLevel:integer;
  public
  published
    property UserName: string read FUserName write FUserName;
    property UserPassword:string read FUserPassword write FUserPassword;
    property Userlevel:integer read FUserLevel write FUserLevel;
  end;

  TArrUser = array of TUser;
  TUser_Operater = class
  private
    FADOQuery: TADOQuery;
  public
    constructor Create;
    destructor Destroy; override;
    function GetAllUsers: TArrUser;
    procedure ChangeUserPassWord(AUser:TUser);
    procedure AddToUsetRunList(AUser:TUser);
  end;

implementation


procedure TUser_Operater.AddToUsetRunList(AUser: TUser);
begin
  with FADOQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('insert into tblUserRunList ([登陆时间], [用户名]) VALUES (:p_LoginTime ,:p_name)');
    Parameters.ParamByName('p_LoginTime').Value := Now();;
    Parameters.ParamByName('p_name').Value := AUser.UserName;
    ExecSQL;
  end;
end;

procedure TUser_Operater.ChangeUserPassWord(AUser: TUser);
begin
  with FADOQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UpDate tblUser set [用户密码]=:p_password where [用户名]=:p_name');
    Parameters.ParamByName('p_password').Value := AUser.UserPassword;
    Parameters.ParamByName('p_name').Value := AUser.UserName;
    ExecSQL;
  end;
end;

constructor TUser_Operater.Create;
var
  DbName: string;
begin
  FADOQuery := TADOQuery.Create(nil);
  DbName := ExtractFilePath(Application.ExeName) + '\data\DataBase.mdb';
  FADOQuery.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False', [DbName]);
end;

destructor TUser_Operater.Destroy;
begin
  inherited;
  FADOQuery.Free;
end;

function TUser_Operater.GetAllUsers: TArrUser;
var
  arrUser: TArrUser;
  AUser:TUser;
  i:integer;
begin
  Result := nil;
  with FADOQuery do
  begin
    Close;
    SQL.Text := 'SELECT * FROM tblUser';
    Open;
    if RecordCount > 0 then
    begin
      SetLength(arrUser, RecordCount);
      i := 0;
      while not Eof do
      begin
        AUser := TUser.Create;
        AUser.UserName := FieldByName('用户名').AsString;
        AUser.UserPassword := FieldByName('用户密码').AsString;
        AUser.Userlevel := FieldByName('用户级别').AsInteger;
        arrUser[i]:=AUser;
        Inc(i);
        Next;
      end;
      Result := arrUser;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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