📄 rl_bfshuju_unit.~pa
字号:
unit rl_bfshuju_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, RzEdit, DB, DBTables, ComCtrls, Grids, DBGrids,
ExtCtrls, DBGridEh, Buttons;
type
Trl_bfshuju = class(TForm)
tb_dw: TTable;
tb_bm: TTable;
StatusBar1: TStatusBar;
tb_gzzk: TTable;
tb_gzbf: TTable;
tb_bfrz: TTable;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
cb_dw: TComboBox;
cb_fc: TComboBox;
rdte_rq: TRzDateTimeEdit;
Button1: TButton;
pb1: TProgressBar;
Button2: TButton;
Panel2: TPanel;
Splitter1: TSplitter;
DataSource1: TDataSource;
q_count: TQuery;
DBGridEh1: TDBGridEh;
Label5: TLabel;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure cb_dwChange(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
rl_bfshuju: Trl_bfshuju;
implementation
{$R *.dfm}
procedure Trl_bfshuju.FormCreate(Sender: TObject);
begin
tb_dw.Open;
tb_dw.First;
with tb_dw do
while not eof do
begin
cb_dw.Items.Add(tb_dw['dw']);
next;
end;
tb_dw.close;
end;
procedure Trl_bfshuju.cb_dwChange(Sender: TObject);
begin
cb_fc.Items.Clear;
tb_bm.Open;
tb_bm.First;
with tb_bm do
while not eof do
begin
if trim(cb_dw.Text) = trim(tb_bm['bmlb']) then
cb_fc.Items.Add(tb_bm['bmmc']);
next;
end;
tb_bm.close;
cb_fc.ItemIndex := -1;
cb_fc.Text := '';
end;
procedure Trl_bfshuju.Button2Click(Sender: TObject);
begin
close;
end;
procedure Trl_bfshuju.Button1Click(Sender: TObject);
var
chazhaobz, rec_count, i, j: integer;
q_sql: string;
begin
if (trim(cb_dw.Text) = '') or (trim(cb_fc.Text) = '') or (trim(rdte_rq.Text) = '') then
begin
Application.MessageBox('请选择备份的单位 部门或备份日期!', '提示信息', mb_iconInformation + mb_defbutton1);
exit;
end
else
if Application.MessageBox('真的要备份库中数据?', '操作提示', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin
chazhaobz := 0;
tb_gzbf.Open;
tb_gzbf.First;
with tb_gzbf do
begin
if (tb_bfrz['bfrq'] = rdte_rq.Text) and (tb_bfrz['bfdw'] = cb_dw.Text) and (tb_bfrz['bffc'] = cb_fc.Text) then
chazhaobz := 1;
next;
end;
if chazhaobz = 1 then
begin
Application.MessageBox('此日期的数据已经备份了!!', '提示信息', mb_iconInformation + mb_defbutton1);
exit;
end
else
begin
pb1.Visible := true;
TB_bfrz.Append;
tb_bfrz['bfrq'] := rdte_rq.Text;
tb_bfrz['bfdw'] := cb_dw.Text;
tb_bfrz['bffc'] := cb_fc.Text;
tb_bfrz['caozuo'] := formatdatetime('yyyy-mm-dd hh:ss:tt', now());
tb_bfrz.Post;
q_sql := 'select count(*) from gzzk where a2=' + '''' + cb_dw.Text + '''' + ' and a3=' + '''' + cb_fc.Text + '''';
with q_count do
begin
q_count.SQL.Clear;
sql.Add(q_sql);
q_count.Prepare;
open;
end;
rec_count := q_count.Fields[0].AsInteger;
q_count.Close;
J := 0;
tb_gzbf.Open;
tb_gzzk.open;
tb_gzzk.First;
with tb_gzzk do
while not eof do
begin
if (tb_gzzk['a2'] = cb_dw.Text) and (tb_gzzk['a3'] = cb_fc.Text) then
begin
J := j + 1;
pb1.Position := round(j / rec_count * 100);
tb_gzbf.Append;
tb_gzbf['a0'] := strtoint(copy(rdte_rq.text, 1, 4) + copy(rdte_rq.text, 7, 2) + copy(rdte_rq.text, 11, 2));
for i := 1 to 150 do
begin
if i = 1 then
tb_gzbf['a' + inttostr(i)] := strtoint(tb_gzzk['a' + inttostr(i)])
else
tb_gzbf['a' + inttostr(i)] := tb_gzzk['a' + inttostr(i)];
end;
tb_gzbf.Post;
end;
next;
end;
Application.MessageBox('数据备份完毕!!', '提示信息', mb_iconInformation + mb_defbutton1);
pb1.Position := 0;
pb1.Visible := false;
end;
end
else
close;
end;
procedure Trl_bfshuju.Button3Click(Sender: TObject);
var
shanchurq, sql1: string;
begin
if tb_bfrz.RecordCount = 0 then
begin
showmessage('没有备份数据可以删除!,返回');
exit;
end;
if Application.MessageBox('真的要删除部备份日志表中所选的数据吗?', '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin
shanchurq := copy(tb_bfrz['bfrq'], 1, 4) + copy(tb_bfrz['bfrq'], 7, 2) + copy(tb_bfrz['bfrq'], 11, 2);
sql1 := 'delete from gz_bf where a0=' + shanchurq;
// SHOWMESSAGE(shanchurq);
with q_count do
begin
sql.Clear;
sql.add(sql1);
q_count.Prepare;
q_count.ExecSQL;
end;
q_COUNT.Close;
tb_bfrz.Delete;
SHOWMESSAGE('删除成功!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -