📄 gradebrowseunit.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 + -