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

📄 ufrmmain.pas

📁 数据库试验题目
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit UfrmMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, DB, ADODB, UBClass, UPublic, Buttons;

type
  TfrmMain = class(TForm)
    ADOConnection1: TADOConnection;
    pgcTest: TPageControl;
    tabStudent: TTabSheet;
    cmbChange: TTabSheet;
    tabPunish: TTabSheet;
    tabReward: TTabSheet;
    tabQuery: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    labSID: TLabel;
    txtSName: TEdit;
    cmbSSex: TComboBox;
    cmbSBD: TDateTimePicker;
    txtSNP: TEdit;
    cmbSClass: TComboBox;
    cmbSD: TComboBox;
    cmdAdd: TButton;
    cmdF: TButton;
    cmdB: TButton;
    cmdDel: TButton;
    cmdSave: TButton;
    cmdCancel: TButton;
    Label8: TLabel;
    labSID_Change: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    cmbChange_Change: TComboBox;
    Label11: TLabel;
    cmbTimeChange: TDateTimePicker;
    Label12: TLabel;
    memChange: TMemo;
    labSName_Change: TLabel;
    lvwChange: TListView;
    Label13: TLabel;
    cmdAddChange: TButton;
    cmdModiChange: TButton;
    cmdDelChange: TButton;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    cmbTime_Punish: TDateTimePicker;
    memPunish: TMemo;
    cmbPunish_Punish: TComboBox;
    labSName_Punish: TLabel;
    labSID_Punish: TLabel;
    cmdAddPunish: TButton;
    cmdModiPunish: TButton;
    cmdDelPunish: TButton;
    lvwPunish: TListView;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    cmbTime_Reward: TDateTimePicker;
    memReward: TMemo;
    cmbReward_Reward: TComboBox;
    labSName_Reward: TLabel;
    labSID_Reward: TLabel;
    cmdAddReward: TButton;
    cmdModiReward: TButton;
    cmdDelReward: TButton;
    lvwReward: TListView;
    Label29: TLabel;
    Label19: TLabel;
    GroupBox1: TGroupBox;
    Label20: TLabel;
    labName_All: TLabel;
    Label28: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    labSex_All: TLabel;
    labBirthday_All: TLabel;
    labSNP_All: TLabel;
    labClass_All: TLabel;
    labDept_All: TLabel;
    txtID_All: TEdit;
    spbQuery: TSpeedButton;
    GroupBox2: TGroupBox;
    lvwChange_All: TListView;
    GroupBox3: TGroupBox;
    lvwReward_All: TListView;
    GroupBox4: TGroupBox;
    lvwPunish_All: TListView;
    cmdP_All: TButton;
    cmdD_All: TButton;
    cbxEnable: TCheckBox;
    cmdAdd_All: TButton;
    cmdDel_All: TButton;
    cmdModi_All: TButton;
    procedure FormCreate(Sender: TObject);
    procedure cmdAddClick(Sender: TObject);
    procedure cmdFClick(Sender: TObject);
    procedure cmdBClick(Sender: TObject);
    procedure cmdDelClick(Sender: TObject);
    procedure cmdSaveClick(Sender: TObject);
    procedure cmdCancelClick(Sender: TObject);
    procedure pgcTestChange(Sender: TObject);
    procedure cmdAddChangeClick(Sender: TObject);
    procedure cmdModiChangeClick(Sender: TObject);
    procedure cmdDelChangeClick(Sender: TObject);
    procedure cmdAddPunishClick(Sender: TObject);
    procedure cmdModiPunishClick(Sender: TObject);
    procedure cmdDelPunishClick(Sender: TObject);
    procedure cmdAddRewardClick(Sender: TObject);
    procedure cmdModiRewardClick(Sender: TObject);
    procedure cmdDelRewardClick(Sender: TObject);
    procedure lvwRewardClick(Sender: TObject);
    procedure spbQueryClick(Sender: TObject);
    procedure cmdP_AllClick(Sender: TObject);
    procedure cmdD_AllClick(Sender: TObject);
    procedure cmdAdd_AllClick(Sender: TObject);
    procedure lvwChange_AllEnter(Sender: TObject);
    procedure lvwReward_AllEnter(Sender: TObject);
    procedure lvwPunish_AllEnter(Sender: TObject);
    procedure cmdModi_AllClick(Sender: TObject);
    procedure lvwChangeSelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure lvwPunishSelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure lvwRewardSelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure cmdDel_AllClick(Sender: TObject);
  private
    _Student: TStudent;
    _isNew: Boolean;
    _CurSel: string;
    procedure SetValue;
    procedure SetChangeValue;
    procedure SetPunishValue;
    procedure SetRewardValue;
    procedure SetAllValue;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  adoconnection1.close;
  adoconnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
    + ExtractFilePath(Application.ExeName) + '\db1.mdb;Persist Security Info=False';
  _Student := TStudent.Create(ADOConnection1);
  SetValue;
  _isNew := false;
  _CurSel := '';
end;

procedure TfrmMain.SetValue;
begin
  labSID.Caption := _Student.ID;
  txtSName.Text := _Student.Name;
  cmbSSex.Text := _Student.Sex;
  cmbSBD.Date := _Student.BDate;
  txtSNP.Text := _Student.NP;
  _Student.GetClassList(cmbSClass);
  cmbSClass.Text := _Student.ClassID;
  _Student.GetDeptList(cmbSD);
  cmbSD.Text := _Student.Dept;
end;

procedure TfrmMain.cmdAddClick(Sender: TObject);
begin
  _Student.setValue(false);
  _isNew := true;
  _Student.ID := _Student.GetNewSID;
  SetValue;
  cmdAdd.Enabled := false;
  cmdF.Enabled := false;
  cmdB.Enabled := false;
  cmdDel.Enabled := false;
end;

procedure TfrmMain.cmdFClick(Sender: TObject);
begin
  _Student.MovePrior;
  SetValue;
end;

procedure TfrmMain.cmdBClick(Sender: TObject);
begin
  _Student.MoveNext;
  SetValue;
end;

procedure TfrmMain.cmdDelClick(Sender: TObject);
begin
  if MessageDlg('是否真的删除?', mtConfirmation,
    [mbYes, mbNo], 0) = mrYes then
    _Student.Delete;
  SetValue;
end;

procedure TfrmMain.cmdSaveClick(Sender: TObject);
begin
  _Student.ID := labSID.Caption;
  _Student.Name := txtSName.Text;
  _Student.Sex := cmbSSex.Text;
  _Student.BDate := int(cmbSBD.DateTime);
  _Student.NP := txtSNP.Text;
  _Student.ClassID := cmbSClass.Text;
  _Student.Dept := cmbSD.Text;
  if _isNew then
    _Student.AddNew
  else
    _Student.Update;
  _isNew := false;
  cmdF.Enabled := true;
  cmdB.Enabled := true;
  cmdDel.Enabled := true;
  cmdAdd.Enabled := true;
end;

procedure TfrmMain.cmdCancelClick(Sender: TObject);
begin
  cmdF.Enabled := true;
  cmdB.Enabled := true;
  cmdDel.Enabled := true;
  cmdAdd.Enabled := true;
  _isNew := false;
end;

procedure TfrmMain.pgcTestChange(Sender: TObject);
begin
  case pgcTest.TabIndex of
    0:
      begin
        SetValue;
      end;
    1:
      begin
        labSID_Change.Caption := _Student.ID;
        labSName_Change.Caption := _Student.Name;
        _Student.GetChangeList(cmbChange_Change);
        _Student.GetHistoryChange(lvwChange);
        cmbChange_Change.Text := '';
        memChange.Text := '';
        cmbTimeChange.DateTime := now;
        lvwChange.ShowColumnHeaders := false;
        lvwChange.ShowColumnHeaders := true;
      end;
    2:
      begin
        labSID_Punish.Caption := _Student.ID;
        labSName_Punish.Caption := _Student.Name;
        _Student.GetPunishList(cmbPunish_Punish);
        _Student.GetHistoryPunish(lvwPunish);
        cmbPunish_Punish.Text := '';
        memPunish.Text := '';
        cmbTime_Punish.DateTime := now;
        cbxEnable.Checked := false;
        lvwPunish.ShowColumnHeaders := false;
        lvwPunish.ShowColumnHeaders := true;
      end;
    3:
      begin
        labSID_Reward.Caption := _Student.ID;
        labSName_Reward.Caption := _Student.Name;
        _Student.GetRewardList(cmbReward_Reward);
        _Student.GetHistoryReward(lvwReward);
        cmbReward_Reward.Text := '';
        memReward.Text := '';
        cmbTime_Reward.DateTime := now;
        lvwReward.ShowColumnHeaders := false;
        lvwReward.ShowColumnHeaders := true;
      end;
    4:
      begin
        SetAllValue;
        lvwChange_All.ShowColumnHeaders := false;
        lvwChange_All.ShowColumnHeaders := true;
        lvwPunish_All.ShowColumnHeaders := false;
        lvwPunish_All.ShowColumnHeaders := true;
        lvwReward_All.ShowColumnHeaders := false;
        lvwReward_All.ShowColumnHeaders := true;
      end;
  end;
  _CurSel := '';
end;

procedure TfrmMain.cmdAddChangeClick(Sender: TObject);
begin
  _Student.AddChange(cmbChange_Change.Text,
    cmbTimeChange.DateTime, memChange.Text);
  labSID_Change.Caption := _Student.ID;
  labSName_Change.Caption := _Student.Name;
  _Student.GetChangeList(cmbChange_Change);
  _Student.GetHistoryChange(lvwChange);
  cmbChange_Change.Text := '';
  memChange.Text := '';
  cmbTimeChange.DateTime := now;
end;

procedure TfrmMain.cmdModiChangeClick(Sender: TObject);
var
  CCID: string;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -