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

📄 dbbackupfrm.pas

📁 这是一个本人初定的小制作
💻 PAS
字号:
unit DBBackupFrm;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls, Dialogs, ComCtrls, CommonFunc, MainDM, uConfigMgr;

type
  TDBBackupDlg = class(TForm)
    Bevel1: TBevel;
    Label1: TLabel;
    EdtFileName: TEdit;
    BtnBrowse: TButton;
    AnimateDisplayer: TAnimate;
    BtnBackup: TButton;
    BtnRestore: TButton;
    BtnCancel: TButton;
    DlgSelectFile: TOpenDialog;
    procedure BtnBrowseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BtnBackupClick(Sender: TObject);
    procedure BtnRestoreClick(Sender: TObject);
    procedure EdtFileNameChange(Sender: TObject);
  private
    { Private declarations }
    FFileName: string;
    FConfigMgr: TConfigMgr;
  public
    { Public declarations }
  end;

var
  DBBackupDlg: TDBBackupDlg;

implementation

{$R *.dfm}

procedure TDBBackupDlg.BtnBrowseClick(Sender: TObject);
begin
  if DlgSelectFile.Execute then
    begin
      FFileName := DlgSelectFile.FileName;
      EdtFileName.Text := FFileName;
      FConfigMgr.DBBackupFileName := FFileName;
    end;

end;

procedure TDBBackupDlg.FormCreate(Sender: TObject);
begin
  FConfigMgr:= TConfigMgr.Create;
end;

procedure TDBBackupDlg.FormDestroy(Sender: TObject);
begin
  FreeAndNil(FConfigMgr);
end;

procedure TDBBackupDlg.FormShow(Sender: TObject);
begin
  FFileName := FConfigMgr.DBBackupFileName;
  EdtFileName.Text := FFileName;
end;

procedure TDBBackupDlg.BtnBackupClick(Sender: TObject);
begin
  AnimateDisplayer.Active := true;
  DMMain.ADOCommandBackup.CommandText :=
    'backup database SuperMarketManage to disk=''' + FFileName + '''';
  try
    DMMain.ADOCommandBackup.Execute;
  except
    LCShowMessage('备份失败!', '错误');
    AnimateDisplayer.Active := false;
    exit;
  end;
  LCShowMessage('备份成功!', '成功');
  AnimateDisplayer.Active := false;
end;

procedure TDBBackupDlg.BtnRestoreClick(Sender: TObject);
begin
  AnimateDisplayer.Active := true;
  DMMain.ADOCommandBackup.CommandText :=
    'restore database SuperMarketManage from disk=''' + FFileName + '''' + ' with replace';
  DMMain.ADOConnectionMain.Close;
  try
    DMMain.ADOCommandBackup.Execute;
  except
    LCShowMessage('恢复失败!', '错误');
    AnimateDisplayer.Active := false;
    DMMain.ADOConnectionMain.Open;
    exit;
  end;
  LCShowMessage('恢复成功!', '成功');
  DMMain.ADOConnectionMain.Open;
  AnimateDisplayer.Active := false;
end;

procedure TDBBackupDlg.EdtFileNameChange(Sender: TObject);
begin
  if (Sender as TCustomEdit).Text = '' then
  begin
    BtnBackup.Enabled := false;
    BtnRestore.Enabled := false;
  end
  else
  begin
    BtnBackup.Enabled := true;
    BtnRestore.Enabled := true;
  end;
end;

end.

⌨️ 快捷键说明

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