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

📄 databasebackup.pas

📁 用delphi编写的数据库管理软件
💻 PAS
字号:
unit Databasebackup;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Mask, wwdbedit, Wwdotdot,  StdCtrls, inifiles, adodb,
  Base_C;

type
  Tfrmdatabasebackup = class(TfrmBase_C)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Edit2: TEdit;
    Edit1: TEdit;
    Edit3: TEdit;
    Label3: TLabel;
    dbstart: TwwDBComboDlg;
    SaveDialog1: TSaveDialog;
    Button1: TButton;
    Button2: TButton;
    procedure dbstartCustomDlg(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmdatabasebackup: Tfrmdatabasebackup;

implementation

uses Global;

{$R *.dfm}

procedure Tfrmdatabasebackup.dbstartCustomDlg(Sender: TObject);
begin
  inherited;
  savedialog1.Options:=[ofFileMustExist];
  if savedialog1.Execute then
     dbstart.Text:=savedialog1.FileName;
end;

procedure Tfrmdatabasebackup.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  frmdatabasebackup:=nil;
end;

procedure Tfrmdatabasebackup.Button2Click(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure Tfrmdatabasebackup.Button1Click(Sender: TObject);
var
  s:string;
  ini:Tinifile;
  sqlstr:String;
begin
  inherited;
  if Trim(Edit1.Text)='' then
    begin
      messagedlg('SQL登入名不能为空 ! ',mtError,[mbok],0);
      Exit;
    end;
  if Trim(Edit2.Text)='' then
    begin
      messagedlg('SQL密码不能为空 !',mtError,[mbok],0);
      Exit;
    end;
  if Trim(Edit3.Text)='' then
    begin
      messagedlg('服务器地址不能为空 !',mtError,[mbok],0);
      Exit;
    end;

  if Trim(dbstart.Text)='' then
    begin
      messagedlg('备份文件名不能为空 !',mtError,[mbok],0);
      Exit;
    end;

s:=GetLogDir('Log')+'adolinksetting.ini';
if not fileExists(s) then
  begin
    messagedlg('sql连接设置有误,请联系系统管理员 !',mtError,[mbok],0);
    Exit;
  end;

try
   ini:=Tinifile.Create(s);

    if Trim(uppercase(edit1.Text))<>Trim(uppercase(ini.ReadString('Login','User ID',''))) then
    begin
      messagedlg('SQL登入名称不正确!',mterror,[mbok],0);
      exit;
    end;

    if Trim(edit2.Text)<>Trim(f_encrypt(ini.ReadString('Login','Password',''))) then
    begin
      messagedlg('SQL密码不正确 !',mterror,[mbok],0);
      exit;
    end;

    if Trim(uppercase(edit3.Text))<>Trim(uppercase(ini.ReadString('Login','Server Name',''))) then
    begin
      messagedlg('SQL主机地址不正确 !',mterror,[mbok],0);
      exit;
    end;

finally
  ini.Free;
end;

sqlStr:='';
sqlstr:='BACKUP DATABASE '+Trim(gs_GetDBName)+' TO DISK ='+''''+dbstart.Text+''''+'  with init';

try
  screen.Cursor:=crSqlWait;
  if cexecsql(sqlStr) then
    begin
      messagedlg('成功备份 !',mtwarning,[mbok],0);
      csyslog(self.Name,'备份数据库');
      frmdatabasebackup.Close;
    end
    else
    begin
      messagedlg('备份数据库不成功 ! ',mtwarning,[mbok],0);
      csyslog(self.Name,'数据库备份失败 ');
      exit;
    end;
except
  on E:exception do
    begin
      screen.Cursor:=crDefault;
      messagedlg('数据库备份失败 !'+#10#13+E.Message,mtwarning,[mbok],0);
      Exit
    end;
end;
screen.Cursor:=crDefault;
end;

end.

⌨️ 快捷键说明

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