📄 sjhy.pas
字号:
unit sjhy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TForm18 = class(TForm)
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel1: TPanel;
Label1: TLabel;
SpeedButton1: TSpeedButton;
Edit1: TEdit;
ProBar1: TProgressBar;
Panel3: TPanel;
Open: TOpenDialog;
Label2: TLabel;
DateTimePicker1: TDateTimePicker;
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
Procedure Smooth;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form18: TForm18;
implementation
uses DataModal,bfsb;
{$R *.dfm}
procedure TForm18.SpeedButton1Click(Sender: TObject);
begin
Open.Execute;
Edit1.Text := Trim(Open.FileName);
end;
procedure TForm18.BitBtn1Click(Sender: TObject);
var
timeNow, TimeTo: String;
Num: Integer;//记录备份设备在备份媒体中的位置
begin
if Trim(Edit1.Text)<>'' then
begin
Try
Probar1.Position := 0;
TimeNow := FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date);
TimeTo := FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date+1);
with Data.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('Restore Headeronly from disk = '+''''+Trim(Edit1.Text)+'''');
Open;
end;
Data.ADOQuery2.Filter := 'BackupFinishDate ' + '>= ' + TimeNow + ' and '+' BackupFinishDate ' +' < '+ TimeTo;
Data.ADOQuery2.Filtered := True;
if Data.ADOQuery2.RecordCount>0 then
begin
if Data.ADOQuery2.RecordCount>1 then
begin
Application.CreateForm(TForm19,Form19);
Form19.DataSource1.DataSet:=Data.ADOQuery2;
Form19.ShowModal;
Form19.Free;
end;
end
else
begin
Application.MessageBox('该天没有备份数据.','提示',64);
Exit;
end;
with Data.G_Rst do
begin
Close;
SQL.Clear;
SQL.Add('use master');
ExecSQL;
end;
with Data.ADOQuery1 do
begin
Num := Data.ADOQuery2.FieldByName('Position').Value;
Close;
SQL.Clear;
SQL.Add('use master restore Database 报警管理系统 from disk =' +''''+ Edit1.Text +'''' + ' with File = '+ IntToStr(Num) );
ExecSQL;
end;
Smooth;
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('use 报警管理系统 ');
ExecSQL;
end;
with Data.G_Rst do
begin
Close;
SQL.Clear;
SQL.Add('use 报警管理系统 ');
ExecSQL;
end;
Application.MessageBox('还原成功.','提示',64);
Except
Application.MessageBox('系统出错.','提示',64);
end;
Probar1.Position := 0;
Data.ADOQuery2.filtered := False;
end
else
Application.MessageBox('请设置还原路径.','提示',64);
end;
procedure TForm18.FormCreate(Sender: TObject);
begin
DateTimePicker1.DateTime := Now();
end;
procedure TForm18.Smooth;
begin
while ProBar1.Position < ProBar1.Width do
ProBar1.Position := ProBar1.Position+2;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -