?? pfm_databack.pas
字號:
unit pfm_databack;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons,pvar_lib, Db, DBTables, CheckLst;
type
Tfm_databack = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Table1: TTable;
Table2: TTable;
BatMove1: TBatchMove;
CkLBox1: TCheckListBox;
BBtnSelall: TBitBtn;
BBtnNoall: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BBtnSelallClick(Sender: TObject);
procedure BBtnNoallClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_databack: Tfm_databack;
implementation
{$R *.DFM}
var
stable,stabledes:TStringlist;
procedure Tfm_databack.FormCreate(Sender: TObject);
var
i:integer;
begin
label1.Caption:='上次備份數據時間'+InitRead2('備份數據','時間','無');
stable:=TStringlist.create;
stabledes:=Tstringlist.create;
stable.Add('t_bmxx');
stabledes.Add('部門信息表');
stable.Add('t_ckxx');
stabledes.Add('倉庫信息表');
// stable.Add('t_datadict');
// stabledes.Add('下拉數據表');
stable.Add('t_fendianxx');
stabledes.Add('分店信息表');
stable.Add('t_gysxx');
stabledes.Add('供應商信息表');
stable.Add('t_gzxx');
stabledes.Add('柜組信息表');
stable.Add('t_khxx');
stabledes.Add('客戶信息表');
stable.Add('t_spbmlb');
stabledes.Add('商品編碼對照表');
stable.Add('t_spxx');
stabledes.Add('商品信息表');
stable.Add('t_stocksp');
stabledes.Add('庫存信息表');
stable.Add('t_user');
stabledes.Add('系統用戶信息表');
stable.Add('t_userright');
stabledes.Add('用戶操作權限表');
stable.Add('t_ygxx');
stabledes.Add('員工信息表');
stable.Add('TAB_chinesename');
stabledes.Add('部門信息表');
stable.Add('tab_fdtcd');
stabledes.Add('分店申請退倉單');
stable.Add('tab_fdthd');
stabledes.Add('分店申請提貨單');
stable.Add('tab_xsrz');
stabledes.Add('銷售日志表');
stable.Add('tb_jhd');
stabledes.Add('進貨入庫單');
stable.Add('tb_jhdmx');
stabledes.Add('進貨入庫明細單');
stable.Add('tb_mdtcd');
stabledes.Add('門店退倉單');
stable.Add('tb_mdtcdmx');
stabledes.Add('門店退倉明細單');
stable.Add('tb_pfd');
stabledes.Add('批發單');
stable.Add('tb_pfdmx');
stabledes.Add('批發明細單');
stable.Add('tb_sptuihuod');
stabledes.Add('商品退貨單');
stable.Add('tb_sptuihuodmx');
stabledes.Add('商品退貨明細單');
stable.Add('tb_syd');
stabledes.Add('倉庫損溢單');
stable.Add('tb_sydmx');
stabledes.Add('倉庫損溢明細單');
stable.Add('tb_thd');
stabledes.Add('分店提貨單');
stable.Add('tb_thdmx');
stabledes.Add('分店提貨明細單');
stable.Add('tb_tjd');
stabledes.Add('商品調價單');
stable.Add('tb_tjdmx');
stabledes.Add('商品調價明細單');
stable.Add('tb_tuihuod');
stabledes.Add('客戶退貨單');
stable.Add('tb_tuihuodmx');
stabledes.Add('客戶退貨明細單');
stable.Add('tb_yfkcl');
stabledes.Add('應付款處理單');
stable.Add('tb_yfkmx');
stabledes.Add('應付款明細單');
stable.Add('tb_yskcl');
stabledes.Add('應收款處理單');
stable.Add('tb_yskmx');
stabledes.Add('應收款明細單');
stable.Add('tb_zengpind');
stabledes.Add('贈品單');
stable.Add('tb_zengpindmx');
stabledes.Add('贈品明細單');
stable.add('t_optrecord');
stabledes.Add('操作日志表');
for i:=0 to stable.count-1 do
begin
cklbox1.Items.Add(stabledes.strings[i]);
end;
end;
procedure Tfm_databack.BitBtn1Click(Sender: TObject);
var
i,cnt1:integer;
begin
if application.MessageBox(pchar('備份數據將花費較長的時間,確定要備份當前所有數據'),
pchar('注意'),MB_OKCANCEL)<>IDOK then
begin
exit;
end;
cnt1:=0;
table1.Databasename:='posdb';
batmove1.mode:=batcopy;
batmove1.Source:=table1;
batmove1.Destination:=table2;
for i:=0 to stable.count-1 do
begin
if cklbox1.Checked[i]=true then
begin
memo1.lines.add('正在備份【'+stabledes.strings[i]+'】......');
table1.tablename:=stable.Strings[i];
table2.tablename:='backdata\'+stable.Strings[i];
batmove1.Execute;
cnt1:=cnt1+1;
end;
end;
if cnt1=0 then exit;
memo1.lines.add('數據庫備份成功!共有'+inttostr(cnt1)+'個數據庫表備份');
Initsave2('備份數據','時間',datetimetostr(date()));
label1.caption:='上次備份數據時間'+datetimetostr(date());
AddOptRecord('數據庫備份,共備份'+inttostr(cnt1)+'個數據庫表');
end;
procedure Tfm_databack.BitBtn2Click(Sender: TObject);
var
i,cnt1:integer;
begin
if application.MessageBox(pchar('恢復以前備份數據會將本次數據清除,確定要恢復上次備份數據?'),
pchar('注意'),MB_OKCANCEL)<>IDOK then
begin
exit;
end;
cnt1:=0;
table2.Databasename:='posdb';
batmove1.mode:=batcopy;
batmove1.Source:=table1;
batmove1.Destination:=table2;
for i:=0 to stable.count-1 do
begin
if cklbox1.Checked[i]=true then
begin
memo1.lines.add('正在恢復【'+stabledes.strings[i]+'】......');
table2.tablename:=stable.Strings[i];
table1.tablename:='backdata\'+stable.Strings[i];
batmove1.Execute;
cnt1:=cnt1+1;
end;
end;
if cnt1=0 then exit;
memo1.lines.add('數據庫恢復成功!共有'+inttostr(cnt1)+'個數據庫表');
//Initsave2('備份數據','時間',datetimetostr(date()));
//label1.caption:='上次備份數據時間'+datetimetostr(date());
AddOptRecord('數據庫恢復,共有'+inttostr(cnt1)+'個數據庫表');
end;
procedure Tfm_databack.BBtnSelallClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to cklbox1.items.count-1 do
begin
cklbox1.Checked[i]:=true;
end;
end;
procedure Tfm_databack.BBtnNoallClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to cklbox1.items.count-1 do
begin
cklbox1.Checked[i]:=false;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -