📄 unit6.pas
字号:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Grids, DBGrids, Buttons, StdCtrls, DB, ADODB;
type
TForm6 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
Label1: TLabel;
Label3: TLabel;
SpeedButton1: TSpeedButton;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
GroupBox4: TGroupBox;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
DBGrid2: TDBGrid;
GroupBox5: TGroupBox;
Label5: TLabel;
Label7: TLabel;
SpeedButton5: TSpeedButton;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
GroupBox6: TGroupBox;
SpeedButton4: TSpeedButton;
SpeedButton6: TSpeedButton;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
T_counter_b: TADOTable;
T_counter_re: TADOTable;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses unit7;
{$R *.dfm}
procedure TForm6.SpeedButton1Click(Sender: TObject);
var
SearchTimeF,
SearchTimeT,
SQLStr :string;
begin
SearchTimeF:=DateTimeToStr(DateTimePicker1.DateTime);//起始时间
SearchTimeT:=DateTimeToStr(DateTimePicker2.DateTime);//终止时间
SQLStr:='select * from BackupDetail where Backup_time>='''+SearchTimeF+''''+
' and Backup_time<='''+SearchTimeT+'''';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(SQLStr);
ADOQuery2.Open;
end;
procedure TForm6.SpeedButton5Click(Sender: TObject);
var
SearchTimeF,
SearchTimeT,
SQLStr :string;
begin
ADOQuery3.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
SearchTimeF:=DateTimeToStr(DateTimePicker3.DateTime);//起始时间
SearchTimeT:=DateTimeToStr(DateTimePicker4.DateTime);//终止时间
SQLStr:='select * from RestoreDetail where Restore_time>='''+SearchTimeF+''''+
' and Restore_time<='''+SearchTimeT+'''';
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add(SQLStr);
ADOQuery3.Open;
end;
procedure TForm6.SpeedButton3Click(Sender: TObject);
var
BID:integer;
begin
if DBGrid1.SelectedField.DataSet.FieldValues['BID']<>null then begin
BID:=DBGrid1.SelectedField.DataSet.FieldValues['BID'];
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('delete from BackupDetail where BID='+''''+IntToStr(BID)+'''');
if MessageDlg('确定要删除吗?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then begin
ADOQuery2.ExecSQL;
ShowMessage('数据删除成功!!!');
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from BackupDetail ');
ADOQuery2.Open;
end
else
Exit;
end;
end;
procedure TForm6.SpeedButton2Click(Sender: TObject);
var
counter:integer;
begin
try
T_counter_b.Open;
counter:=T_counter_b['COUNTER_VALUE'];
Inc(counter); //累加数据备份计数器
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('BackUp database mydb to disk=''D:\BACK.bak'' with Init');
ADOQuery1.ExecSQL;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from BackupDetail');
ADOQuery2.Open;
ADOQuery2.Append;
ADOQuery2.Edit;
ADOQuery2.FieldValues['BID']:=counter;
ADOQuery2.FieldValues['Backup_time']:=Now;
ADOQuery2.FieldValues['Backup_teacher']:=f_dialog.username.Text;
ADOQuery2.Post;
T_counter_b.Edit;
T_counter_b['COUNTER_VALUE']:=counter;
T_counter_b.Post;
SHOWMESSAGE('备份成功');
EXCEPT
SHOWMESSAGE('备份失败');
end;
end;
procedure TForm6.SpeedButton6Click(Sender: TObject);
var
counter:integer;
begin
try
ADOQuery2.Close;
T_counter_b.Close;
ADOQuery3.Close;
T_counter_re.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
T_counter_re.Open;
counter:=T_counter_re['COUNTER_VALUE'];
Inc(counter); //累加数据恢复计数器
T_counter_re.Close;
ADOQuery2.ConnectionString:='';
T_counter_b.ConnectionString:='';
ADOQuery3.ConnectionString:='';
T_counter_re.ConnectionString:='';
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('USE master');
ADOQuery1.SQL.Add('ALTER DATABASE mydb SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADOQuery1.SQL.Add('restore database mydb from disk=''D:\BACK.bak''');
ADOQuery1.SQL.Add('ALTER DATABASE mydb SET ONLINE WITH ROLLBACK IMMEDIATE');
ADOQuery1.SQL.Add('USE mydb');
ADOQuery1.ExecSQL;
T_counter_re.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
T_counter_re.Open;
ADOQuery3.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('select * from RestoreDetail');
ADOQuery3.Open;
ADOQuery3.Append;
ADOQuery3.Edit;
ADOQuery3.FieldValues['RTID']:=counter;
ADOQuery3.FieldValues['Restore_time']:=Now;
ADOQuery3.FieldValues['Restore_teacher']:=f_dialog.username.Text;
ADOQuery3.Post;
T_counter_re.Edit;
T_counter_re['COUNTER_VALUE']:=counter;
T_counter_re.Post;
SHOWMESSAGE('恢复数据成功!');
EXCEPT
SHOWMESSAGE('恢复数据失败!!');
end;
end;
procedure TForm6.SpeedButton4Click(Sender: TObject);
var
RTID:integer;
begin
//ADOQuery3.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
if DBGrid2.SelectedField.DataSet.FieldValues['RTID']<>null then begin
RTID:=DBGrid2.SelectedField.DataSet.FieldValues['RTID'];
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('delete RestoreDetail where RTID='+''''+IntToStr(RTID)+'''');
if MessageDlg('确定要删除吗?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then begin
ADOQuery3.ExecSQL;
ShowMessage('数据删除成功!!!');
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('select * from RestoreDetail ');
ADOQuery3.Open;
end
else
Exit;
end;
end;
procedure TForm6.TabSheet1Show(Sender: TObject);
begin
ADOQuery2.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
T_counter_b.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -