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

📄 gradebrowseunit.pas

📁 一个功能完美的学生成绩管理系统   使用ACCESS数据库在DATA文件夹中 功能强大
💻 PAS
字号:
unit gradebrowseunit;

interface

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

type
  TGradebrowseForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    DBNavigator1: TDBNavigator;
    SpeedButton1: TSpeedButton;
    ComboBox3: TComboBox;
    Label3: TLabel;
    Label4: TLabel;
    Bevel1: TBevel;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  GradebrowseForm: TGradebrowseForm;

implementation

uses datamoduleUnit;

{$R *.dfm}

procedure TGradebrowseForm.FormCreate(Sender: TObject);
var year,month,day:word;
     n:integer;
     thisyear:integer;
begin
  DecodeDate(now, Year, Month, Day);
  thisyear:=round(year);
for n:=1 to 20 do
   begin
    combobox1.Items.Add(inttostr(thisyear));
    thisyear:=thisyear-1;
   end;
 combobox1.ItemIndex:=0;
 with datamodule1.queryall do
   begin
     close;
     SQL.Clear;
     sql.Add('select distinct cname from grade where year=:year');
     Parameters.ParamByName('year').Value:=strtoint(combobox1.Text);
     prepared;
     open;
     if RecordCount=0 then
      combobox2.Items.Add('<无记录>')
     else
       begin
            while  not eof  do
              begin
                  combobox2.Items.Add( FieldByName('cname').AsString);
                  next;
              end;
       end;
     close;
   end;
dbgrid1.Columns[0].FieldName:='sno';
dbgrid1.Columns[1].FieldName:='cname';
dbgrid1.Columns[2].FieldName:='tname';
dbgrid1.Columns[3].FieldName:='grade';
dbgrid1.Columns[4].FieldName:='year';
dbgrid1.Columns[5].FieldName:='term';
dbgrid1.Columns[6].FieldName:='type';



end;

procedure TGradebrowseForm.ComboBox1Change(Sender: TObject);
begin
if (combobox1.Text='') or (combobox3.Text='') then
   begin
    exit;
   end;
combobox2.Text:='';
combobox2.Items.Clear;
  with datamodule1.queryall do
    begin
     DisableControls;
    close;
    SQL.Clear;
    sql.Add('select Distinct cname from grade where year=:year and term=:term');
    Parameters.ParamByName('year').Value:=strtoint(combobox1.Text);
    Parameters.ParamByName('term').Value:=combobox3.Text;
    prepared;
    open;
     if RecordCount=0 then
      combobox2.Items.Add('<无记录>')
     else
     while  not eof  do
        begin
         combobox2.Items.Add( FieldByName('cname').AsString);
         next;
        end;
     close;
     enableControls;
     end;
end;

procedure TGradebrowseForm.ComboBox2Change(Sender: TObject);
begin
 with datamodule1.queryall do
    begin
     close;
     SQL.Clear;
     sql.Add('select * from grade where year=:year and cname=:cname and term=:term ');
     Parameters.ParamByName('year').Value:=strtoint(combobox1.Text);
     Parameters.ParamByName('cname').Value:=combobox2.Text;
     Parameters.ParamByName('term').Value:=combobox3.Text;
     prepared;
     open;
   end;
end;

procedure TGradebrowseForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
datamodule1.queryall.Close;
end;

end.

⌨️ 快捷键说明

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