⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit6.pas

📁 用delphi编写的学生学籍管理系统
💻 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 + -