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

📄 usjhf.pas

📁 delphi 开发的完整的仓库管理系统(带数据库)
💻 PAS
字号:
unit USJHF;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ComCtrls, ExtCtrls;

type
  TSJHF = class(TForm)
    Image1: TImage;
    ProgressBar1: TProgressBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    OpenDialog1: TOpenDialog;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SJHF: TSJHF;

implementation

uses UDM;

{$R *.dfm}

procedure TSJHF.SpeedButton1Click(Sender: TObject);
{var
  Str_Path:string;
begin
  DM.ADOConn.Close;
  DM.ADOConn.Connected:=False;
  Opendialog1.Filter := '所有文件(*.*)|*.*';
  Opendialog1.Title := '选择恢复文件路径和文件名';
  if Opendialog1.Execute then
    Str_Path:=opendialog1.FileName;
  if Str_Path<>'' then
  begin
    with DM.Q do
    begin
    try
      try
        Screen.Cursor := crHourGlass;
        DM.Q.Close;
        DM.Q.SQL.Clear;
        DM.Q.SQL.Add('use pubs restore  DATABASE '+'CKGL'+ '  from DISK =''' +Str_Path+'''');
        DM.Q.ExecSQL();
        Screen.Cursor := crDefault;
        Application.MessageBox('数据库恢复成功完成!','数据库恢复',0+mb_iconinformation);
      except
        Screen.Cursor := crDefault;
        Application.MessageBox('数据库恢复失败!请检查备份路径或网络状态','数据库恢复',0+mb_iconinformation);
        exit;
      end;
      Finally
        with DM.Qsjcsh do
          begin
            Close;
            SQL.Clear;
            SQL.Add('USE CKGL');
            ExecSQL;
          end;
      end;
    end;
  end; }
var
path:string;
N:integer;
begin
  DM.ADOConn.Close;
  DM.ADOConn.Connected:=False;
  self.Caption:='恢复数据';
  messagebox(self.Handle,'请在恢复前将所有与该数据库连接的程序关闭,以免恢复失败','提示信息',mb_iconinformation);
  opendialog1.Filter:='(备份文件)|*.bak';
  opendialog1.InitialDir:=extractfiledir(application.ExeName)+'\databack\';
  if opendialog1.Execute then
    path:=opendialog1.FileName;
  if path<>'' then
    if messagebox(self.Handle,'确定要恢复数据库吗?这样会覆盖现在的数据。','提示信息',mb_yesno+mb_iconquestion)=idyes then
    begin
    self.Caption:='正在恢复数据...';
    with DM.QSJHF do
    begin
     TRY
      try
        close;
        SQL.Clear;
        SQL.add('use master restore database CKGL from disk='+''''+ Trim(path)+'''');
        ExecSQL();
        for N:=0 to 100 do
          progressbar1.Position:=N;
        messagebox(self.Handle,'数据恢复成功','提示信息',mb_iconinformation);
        Progressbar1.Position:=0;
      except
        messagebox(self.Handle,'数据恢复失败','提示信息',mb_iconinformation);
      end;
     Finally
      with DM.QSX do
      begin
        Close;
        SQL.Clear;
        SQL.Add('USE CKGL');
        ExecSQL;
      end;
     end;
    end;
  end;
end;

procedure TSJHF.SpeedButton2Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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