formquery.pas

来自「Delphi数据库编程」· PAS 代码 · 共 107 行

PAS
107
字号
unit FormQuery;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, Mask, DB, DBTables, ComCtrls;

type
  TfrmQuery = class(TForm)
    tblStudent: TTable;
    dsStudent: TDataSource;
    grpStudentInfo: TGroupBox;
    tblChange: TTable;
    dsChange: TDataSource;
    tblReward: TTable;
    dsReward: TDataSource;
    tblPunish: TTable;
    dsPunish: TDataSource;
    btnQuit: TButton;
    Label1: TLabel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    dbgChange: TDBGrid;
    dbmChange: TDBMemo;
    dbgReward: TDBGrid;
    dbmReward: TDBMemo;
    dbgPunish: TDBGrid;
    dbmPunish: TDBMemo;
    Label2: TLabel;
    dbtName: TDBText;
    Label3: TLabel;
    dbtSex: TDBText;
    Label4: TLabel;
    dbtBirthday: TDBText;
    dbtClass: TDBText;
    Label6: TLabel;
    Label7: TLabel;
    dbtMaster: TDBText;
    tblClass: TTable;
    dsClass: TDataSource;
    edtStudentID: TEdit;
    procedure btnQuitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure edtStudentIDChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  Private
    { Private declarations }
  Public
    { Public declarations }
  end;

var
  frmQuery: TfrmQuery;

implementation

{$R *.dfm}

procedure TfrmQuery.FormShow(Sender: TObject);
begin
  tblClass.Active := false;
  tblChange.Active := false;
  tblReward.Active := false;
  tblPunish.Active := false;
  tblStudent.Active := false;
end;

procedure TfrmQuery.btnQuitClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmQuery.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  tblClass.Active := false;
  tblChange.Active := false;
  tblReward.Active := false;
  tblPunish.Active := false;
  tblStudent.Active := false;
end;

procedure TfrmQuery.edtStudentIDChange(Sender: TObject);
begin
  tblClass.Active := false;
  tblChange.Active := false;
  tblReward.Active := false;
  tblPunish.Active := false;
  tblStudent.Active := false;

  tblStudent.Filter := 'StudentID=''' + edtStudentID.Text + '''';
  tblStudent.Filtered := true;
  tblStudent.Active := true;
  if not tblStudent.Eof then
  begin
    tblClass.Active := true;
    tblChange.Active := true;
    tblReward.Active := true;
    tblPunish.Active := true;
  end;
end;

end.

⌨️ 快捷键说明

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