⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin.pas.~13~

📁 初中成绩录入系统网络版(firebird) firebird下的网络编程
💻 ~13~
字号:
unit admin;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs,IBServices;

type
  TAdmin = class(TObject)
  public
    constructor Create;
    procedure Backup(DbName:String);
    procedure ChangeUserPsw(UserName,NewPSW:String);
    procedure clearData;
    procedure createLLY;
    procedure Restore(DBName:String);
  end;
  

implementation

uses unitDatamodule;

{
************************************ TAdmin ************************************
}
constructor TAdmin.Create;
begin
  dm.IBSS.Params.Clear;
  dm.IBSS.Params.Add('user_name=SYSDBA');
  dm.IBSS.Params.Add('password='+dm.IBDB.Params.Values['password']);
  dm.IBBS.Params.Clear;
  dm.IBBS.Params.Add('user_name=SYSDBA');
  dm.IBBS.Params.Add('password='+dm.IBDB.Params.Values['password']);
  dm.IBRS.Params.Clear;
  dm.IBRS.Params.Add('user_name=SYSDBA');
  dm.IBRS.Params.Add('password='+dm.IBDB.Params.Values['password']);
end;

procedure TAdmin.Backup(DbName:String);
begin
  try
    screen.Cursor:=crHourGlass;
    dm.IBBS.DatabaseName:=dm.IBDB.DatabaseName;
    dm.IBBS.BackupFile.Clear;
    dm.IBBS.BackupFile.Add(DBName);
    dm.IBBS.Attach;
    dm.IBBS.ServiceStart;
    while not dm.IBBS.Eof do
    begin
      Application.ProcessMessages;
      dm.IBBS.GetNextLine;
    end;
    Application.MessageBox('备份数据库成功!','提示',MB_OK or MB_ICONINFORMATION);
  finally
    if dm.IBBS.Active=true then
      dm.IBBS.Detach;
    screen.Cursor:=crDefault;
  end;
end;

procedure TAdmin.ChangeUserPsw(userName,NewPSW:String);
begin
  dm.IBSS.Active:=false;
  dm.IBSS.UserName:=userName;
  dm.IBSS.Password:=NewPsw;
  dm.IBSS.Active:=true;
  dm.IBSS.ModifyUser;
  Application.MessageBox('更改密码成功!','提示',MB_OK or MB_ICONINFORMATION);
  dm.IBDB.Close;
  if Uppercase(userName)='SYSDBA' then
  begin
    dm.IBBS.Active:=false;
    dm.IBRS.Active:=false;
    dm.IBSS.Active:=false;
    dm.IBDB.Params.Values['password']:=NewPSW;
    dm.IBBS.Params.Values['password']:=NewPSW;
    dm.IBRS.Params.Values['password']:=NewPSW;
    dm.IBSS.Params.Values['password']:=NewPSW;
  end;
end;

procedure TAdmin.clearData;
begin
  dm.Trans1.Active:=false;
  dm.Query1.Close;
  dm.Query1.SQL.Text:='delete from student';
  dm.Query1.ExecSQL;
  dm.Query1.Close;
  dm.Query1.SQL.Text:='delete from ach1';
  dm.Query1.ExecSQL;
  dm.Query1.Close;
  dm.Query1.SQL.Text:='delete from ach2';
  dm.Query1.ExecSQL;
  dm.Query1.Close;
  dm.Query1.SQL.Text:='delete from achieve';
  dm.Query1.ExecSQL;
  try
    dm.trans1.Commit;
    Application.MessageBox('清空数据库完毕!','提示',MB_OK or MB_ICONINFORMATION);
  except
    dm.trans1.Rollback;
    Application.MessageBox('清空数据库失败!','提示',MB_OK or MB_ICONERROR);
  end;
end;

procedure TAdmin.createLLY;
var
  i: Integer;
begin
  dm.IBSS.Active:=true;
  dm.IBSS.DisplayUsers;
  for i:=0 to dm.IBSS.UserInfoCount-1  do
  begin
    if dm.IBSS.UserInfo[i].UserName='LLY1' then
      exit;
  end;
  dm.IBSS.Active:=false;
  dm.IBSS.Active:=true;
  dm.IBSS.UserName:='LLY1';
  dm.IBSS.Password:='65432';
  dm.IBSS.AddUser;
  dm.IBSS.Active:=false;
  dm.IBSS.Active:=true;
  dm.IBSS.UserName:='LLY2';
  dm.IBSS.Password:='65432';
  dm.IBSS.AddUser;
  dm.IBSS.Active:=false;
end;

procedure TAdmin.Restore(DBName:String);
begin
  try
    screen.Cursor:=crHourGlass;
    dm.IBDB.Close;
    dm.IBRS.DatabaseName.Clear;
    dm.IBRS.DatabaseName.Add(dm.IBDB.DatabaseName);
    dm.IBRS.BackupFile.Clear;
    dm.IBRS.BackupFile.Add(DBName);
    dm.IBRS.Attach;
    dm.IBRS.Options:=[replace];
    dm.IBRS.ServiceStart;
    while not dm.IBRS.Eof do
    begin
      Application.ProcessMessages;
      dm.IBRS.GetNextLine;
    end;
    Application.MessageBox('成功恢复数据库!','提示',MB_OK or MB_ICONINFORMATION);
  finally
    if dm.IBRS.Active then
      dm.IBRS.Detach;
    screen.Cursor:=crDefault;
  end;
end;


end.

⌨️ 快捷键说明

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