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

📄 backup.pas

📁 用delphi 7
💻 PAS
字号:
unit BackUp;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBXpress, FMTBcd, DB, SqlExpr, StdCtrls, ComCtrls,Regist;
const
  ver='VER 1.02';
  
type
  TMainForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Button2: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    Button4: TButton;
    SQLConnection1: TSQLConnection;
    SQLQu_BackUp: TSQLQuery;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Button3: TButton;
    Button5: TButton;
    Label6: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses HiteDlg;

{$R *.dfm}

//设置数据库的连接属性
procedure TMainForm.FormCreate(Sender: TObject);
var
  IPaddress:string;
begin
  try
    IPaddress:=inttostr(GetRegistryIntValue('software\kaer\yxwg','IPaddress1'));
    IPaddress:=IPaddress+'.'+inttostr(GetRegistryIntValue('software\kaer\yxwg','IPaddress2'));
    IPaddress:=IPaddress+'.'+inttostr(GetRegistryIntValue('software\kaer\yxwg','IPaddress3'));
    IPaddress:=IPaddress+'.'+inttostr(GetRegistryIntValue('software\kaer\yxwg','IPaddress4'));
    SQLConnection1.Connected:=false;
    SQLConnection1.Params.Strings[1]:='HostName='+IPaddress;
    SQLConnection1.Params.Strings[2]:='DataBase=kaeryxwg';
    SQLConnection1.Params.Strings[3]:='User_Name=sa';
    SQLConnection1.Params.Strings[4]:='Password=123';
    SQLConnection1.Open;
  except
    showmessage('数据库连接错误,请检查数据库是否存在及IP设置是否正确。');
    Application.Terminate;
  end;
end;

//备份数据库
procedure TMainForm.Button1Click(Sender: TObject);
begin
  if  Edit1.Text='' then
  begin
    showmessage('未选择目标文件名。');
    exit
  end;
  try
    HiteForm.LblHite.Caption:='正在备份数据库,请稍侯...';
    HiteForm.Show;
    HiteForm.Update;
    SQLQu_BackUp.SQL.Text:='BACKUP DATABASE [northwind] TO  DISK = '''
    +Edit1.Text+''' WITH INIT';
    SQLQu_BackUp.ExecSQL(true);
    HiteForm.Hide;
    showmessage('数据库备份完毕。');
  except
    showmessage('数据库备份失败,请重新备份。');
  end;
end;

//恢复数据库
procedure TMainForm.Button4Click(Sender: TObject);
begin
  if  Edit2.Text='' then
  begin
    showmessage('未选择源文件名。');
    exit
  end;
  try
    try
      HiteForm.LblHite.Caption:='正在还原数据库,请稍侯...';
      HiteForm.Show;
      HiteForm.Update;
      SQLQu_BackUp.SQL.Text:='use master';
      SQLQu_BackUp.ExecSQL(true);
      SQLQu_BackUp.SQL.Text:='RESTORE DATABASE northwind from DISK ='''+Edit2.Text+''''
      +' WITH  FILE = 1,  NOUNLOAD ,  STATS = 10,  RECOVERY,replace';
      SQLQu_BackUp.ExecSQL(true);
    finally
      HiteForm.Hide;
    end;
    showmessage('数据库恢复完毕。');
  except
    showmessage('数据库恢复失败,请检查所选恢复文件是否正确。'+#13+'关闭其它应用程序,必要时重新启动计算机,然后重新恢复。');
  end;
end;

procedure TMainForm.Button5Click(Sender: TObject);
begin
  close;
end;        

procedure TMainForm.Button2Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    Edit1.Text:=SaveDialog1.FileName;
end;

procedure TMainForm.Button3Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    Edit2.Text:=OpenDialog1.FileName;
end;

end.

⌨️ 快捷键说明

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