📄 datahfunit.pas
字号:
unit datahfunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, DB, ADODB, ExtCtrls;
type
Tdatahfform = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ProgressBar1: TProgressBar;
OpenDialog1: TOpenDialog;
q: TADOQuery;
Image1: TImage;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
datahfform: Tdatahfform;
implementation
uses dmunit,mainunit;
{$R *.dfm}
procedure Tdatahfform.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tdatahfform.BitBtn1Click(Sender: TObject);
var path:string;
m:integer;
begin
messagebox(self.Handle,'请在恢复前将所有与该数据库连接的程序关闭,以免恢复失败','提示信息',mb_iconinformation);
self.Caption:='正在恢复数据...';
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
try
with dm.user do
begin
close;
SQL.Clear;
SQL.add('use pubs restore database ZFGJJ from disk='''+ Trim(path)+'''');
ExecSQL;
end;
for m:=0 to 100 do
progressbar1.Position:=m;
messagebox(self.Handle,'数据恢复成功','提示信息',mb_iconinformation);
except
messagebox(self.Handle,'数据恢复失败','提示信息',mb_iconinformation);
end; //对应try
end;// end;
with dm.user do
begin
close;
sql.Clear ;
sql.Add('use zfgjj');
execsql;
close;
sql.Clear ;
sql.Add('select * from 用户表');
execsql;
open;
end;
self.Caption:='恢复数据';
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -