usubject.pas

来自「一.录入学生信息(预计有81个学生」· PAS 代码 · 共 107 行

PAS
107
字号
unit uSubject;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGridEh, StdCtrls, Buttons, ExtCtrls;

type
  TfrmSubject = class(TForm)
    Panel2: TPanel;
    cmdAppend: TBitBtn;
    cmdEdit: TBitBtn;
    cmdDelete: TBitBtn;
    cmdClose: TBitBtn;
    DBGridEh1: TDBGridEh;
    DataSource1: TDataSource;
    dsQuery: TADODataSet;
    Function ReadyData():Boolean;
    procedure cmdCloseClick(Sender: TObject);
    procedure cmdAppendClick(Sender: TObject);
    procedure cmdEditClick(Sender: TObject);
    procedure cmdDeleteClick(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Function ShowSubject():Boolean;

implementation

uses uSubjectEdit;

{$R *.dfm}

Function ShowSubject():Boolean;
var
  frmSubject: TfrmSubject;
begin
  Result:=False;
  frmSubject:=TfrmSubject.Create(nil);
  if Not frmSubject.ReadyData then
  begin
    frmSubject.Free;
    Exit;
  end;
  frmSubject.ShowModal;
  frmSubject.Free;
  Result:=True;
end;

Function TfrmSubject.ReadyData():Boolean;
var TmpSQL:String;
begin
  Result:=False;
  TmpSQL:='select * from TSubject Order by SubjCode';
  dsQuery.Close;
  dsQuery.CommandText:=TmpSQL;
  Try
    dsQuery.Open;
  Except
    ShowMessage('读取本地数据文件发生错误!');
    Exit;
  End;
  Result:=True;
end;

procedure TfrmSubject.cmdCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmSubject.cmdAppendClick(Sender: TObject);
begin
  if Not ShowSubjectEdit(-1) then Exit;
  ReadyData;
end;

procedure TfrmSubject.cmdEditClick(Sender: TObject);
begin
  if dsQuery.IsEmpty then Exit;
  if Not ShowSubjectEdit(dsQuery.fieldByName('ID').asInteger) then Exit;
  ReadyData;
end;

procedure TfrmSubject.cmdDeleteClick(Sender: TObject);
begin
  if dsQuery.IsEmpty then Exit;
  if MessageDlg('您确认删除选定的科目记录吗?',mtWarning,[mbYes,mbNo],0)=mrNo then Exit;
  Try
    dsQuery.Delete;
  Except
    ShowMessage('指定科目简码信息可能已经被使用,不能删除!');
    Exit;
  End;
end;

procedure TfrmSubject.DBGridEh1DblClick(Sender: TObject);
begin
  cmdEditClick(nil);
end;

end.

⌨️ 快捷键说明

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