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

📄 backupb.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
字号:
unit backupB;

interface

//uses
  //Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  //Dialogs, StdCtrls, Buttons, DB, ADODB,inifiles;
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
  StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
  ImgList, jpeg, DB, ADODB,
  ShellApi, StrUtils, ToolWin,inifiles;

type
  TF_backupB = class(TForm)
    Label2: TLabel;
    Edit1: TEdit;
    Btn: TBitBtn;
    BitBtn2: TBitBtn;
    ADOQuery1: TADOQuery;
    SaveDialog1: TSaveDialog;
    BitBtn3: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure BtnClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
    ssFile:string;
  public
    { Public declarations }
  end;

var
  F_backupB: TF_backupB;
  myinifile:Tinifile;

implementation

uses data;

{$R *.dfm}

procedure TF_backupB.BitBtn2Click(Sender: TObject);
begin
    F_backupB.Close;
end;

procedure TF_backupB.BtnClick(Sender: TObject);
var
    s:string;
    i,j:integer;
begin
     if savedialog1.Execute then
        edit1.Text:=SaveDialog1.Files[0];

     s:= edit1.Text;
     i:= pos('\',s);
     while i>0 do
     begin
         j:= length(s);
         s:=copy(s, i+1,j- i);
         i:= pos('\',s);
     end;

     ssFile:=AnsiReplaceStr(s,'.bak','');

     edit1.Enabled := false;
end;

procedure TF_backupB.BitBtn1Click(Sender: TObject);
var
    Query:TADOQuery;
begin
    if edit1.Text ='' then
    begin
        showmessage('请选择目标路径和输入备份文件名(*.bak)');
        edit1.SetFocus ;
        exit;
    end;

    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query.SQL.Add('backup database JXC1 TO  ');
    Query.SQL.Add('DISK = '''+edit1.Text +''' WITH  NOINIT ,   ');
    Query.SQL.Add('NOUNLOAD ,  NAME = ''college 备份'', ');
    Query.SQL.Add('NOSKIP ,  STATS = 10,  NOFORMAT  ');

    DataModuleADO.ADOConnection1.begintrans;
    try
        Query.ExecSQL ;
        DataModuleADO.ADOConnection1.committrans;
        showmessage('备份成功!');
    except
        DataModuleADO.ADOConnection1.rollbacktrans;
        showmessage('备份失败,请重试!');
    end;
end;

procedure TF_backupB.BitBtn3Click(Sender: TObject);
var
    s,s1,s2,s3,s4:string;
    filename:string;
    sDB:string;
    Currentdir:string;
    strMDBPlace:string;
    j:integer;
    Query:TADOQuery;
begin
    if edit1.Text ='' then
    begin
        showmessage('请选择目标路径和恢复文件名(*.bak)');
        edit1.SetFocus ;
        exit;
    end;


    if edit1.Text ='' then
    begin
        showmessage('请选择要恢复的文件名(*.bak)');
        edit1.SetFocus ;
        exit;
    end;

    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query.CommandTimeout:=120;
    Query.SQL.Add('use   master');
    Query.SQL.Add('alter   database   '+ssFile+'   set   offline   WITH   ROLLBACK   IMMEDIATE');
    Query.SQL.Add('restore   database   '+ssFile+'   from   disk='''+edit1.text+''''+'   with   REPLACE   ');
    Query.SQL.Add('alter   database  '+ssFile+'   set   online   with   rollback   immediate');

    DataModuleADO.ADOConnection1.begintrans;
    try
        Query.ExecSQL ;
        DataModuleADO.ADOConnection1.committrans;
        showmessage('恢复成功!'); 
        DataModuleADO.SetConn;
        //Application.Terminate;
     except
        DataModuleADO.ADOConnection1.rollbacktrans;
        showmessage('恢复失败,请重试!');
     end;
end;

end.

⌨️ 快捷键说明

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