📄 dfm_bavre.pas
字号:
unit dfm_bavre;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, DB, ADODB;
type
Tdfmbavre = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel;
Panel2: TPanel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
RadioGroup1: TRadioGroup;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Memo1: TMemo;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
ADOQuery4: TADOQuery;
Label1: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Memo1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure backdata;
private
{ Private declarations }
function memosel(Index:integer):boolean;
public
{ Public declarations }
end;
var
dfmbavre: Tdfmbavre;
fst,fbstr:string;
LineNum:longint;
implementation
uses dbmRainbowMis, dfm_backok;
{$R *.dfm}
Function Tdfmbavre.memosel(Index:integer):boolean;
var
i,start,sellength:integer;
begin
Start:=0;
for i:=0 to Index-1 do
Start:=Start+Length(Memo1.Lines[i])+2;
SelLength:=length(Memo1.Lines[index]);
Memo1.SetFocus;
Memo1.SelStart:=Start;
Memo1.SelLength:=SelLength;
end;
procedure Tdfmbavre.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tdfmbavre.BitBtn1Click(Sender: TObject);
var
fdate,fbfile:string;
begin
fdate:=formatdatetime('yyyymmdd',date());
fbstr:='SELECT * into %s FROM '+fst
+'adata\suppos.t_saledet';
if checkbox1.Checked then
begin
fbfile:='sl'+fdate;
label1.Caption :=fbfile;
If Application.FindComponent('dfmbackok')=Nil Then
dfmbackok:=Tdfmbackok.Create(Application);
dfmbackok.Showmodal;
end;
end;
procedure Tdfmbavre.FormCreate(Sender: TObject);
begin
fst := ExtractFilePath(Application.ExeName);
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+
fst+'apw\ALPW.MDB;Mode=Share Deny None;Extended Properties="";Jet'+
' OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database'+
' Password="atoa011";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet'+
' OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet'+
' OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet'+
' OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet'+
' OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
If Not ADOConnection1.Connected Then
ADOConnection1.Connected:=True;
ADOConnection1.GetTableNames(memo1.lines);
end;
procedure Tdfmbavre.Memo1Click(Sender: TObject);
begin
LineNum:=SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
memosel(LineNum);
end;
procedure Tdfmbavre.BitBtn2Click(Sender: TObject);
var
fstr,ftb:string;
begin
ADOQuery4.ExecSQL ;
ftb:=trim(memo1.Lines[LineNum]);
if Application.MessageBox(pchar(ftb),'将从下表恢复数据',MB_OKCANCEL)
= IDOK then
begin
fstr:='SELECT * into t_rstemp FROM '+fst
+'apw\alpw.'+'%s';
if checkbox1.Checked then
begin
with ADOQuery2 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr,[ftb]));
execsql;
end;
adoquery3.ExecSQL ;
end;
application.messagebox('恢复完成','提示信息',mb_ok);
end
end;
procedure Tdfmbavre.backdata;
var
fbfile:string;
begin
with ADOQuery1 do
begin
fbfile:=trim(dfmbackok.Edit1.Text);
close;
sql.Clear ;
sql.Add(Format(fbstr,[fbfile]));
execsql;
end;
memo1.Lines.Clear ;
ADOConnection1.GetTableNames(memo1.lines);
application.messagebox('备份完成','提示信息',mb_ok);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -