unitiscore.pas
来自「这是我做的一个大学院系成绩管理系统」· PAS 代码 · 共 138 行
PAS
138 行
unit UnitIscore;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DBCtrls, Grids, DBGrids, Mask, DB, ADODB;
type
TFrmIscore = class(TFrame)
ImageBg: TImage;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Image1: TImage;
Image2: TImage;
Image3: TImage;
ADOQueryAvg: TADOQuery;
Imageadd: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
DBNavigator1: TDBNavigator;
procedure Image2Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure ImageaddClick(Sender: TObject);
procedure Image4Click(Sender: TObject);
procedure Image5Click(Sender: TObject);
procedure Image6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses UnitDBConnect, UnitIScoreInput, UnitIScoreChart;
{$R *.dfm}
procedure TFrmIscore.Image2Click(Sender: TObject);
begin
with FMDBConnect.ADOQueryIScore do
begin
Close;
SQL.Clear;
SQL.Add('select * from IScore');
Active:=True;
Open;
end;
end;
procedure TFrmIscore.Image1Click(Sender: TObject);
begin
if (ComboBox1.Text<>'') and (Edit1.Text<>'') then
begin
with FMDBConnect.ADOQueryIScore do
begin
Close;
SQL.Clear;
SQL.Add('select * from IScore where SNo in( select SNo from Student where SClassNo='''+ComboBox1.Text+''') and CNo='''+Edit1.Text+'''');
Active := True;
Open;
end;
end
else
begin
showmessage('请输入班级和课程名');
end;
end;
procedure TFrmIscore.Image3Click(Sender: TObject);
begin
if (ComboBox1.Text<>'') and (Edit1.Text<>'') then
begin
with ADOQueryAvg do
begin
SQL.Clear;
SQL.Add('select AVG(Score) as AvgScore from IScore where SNo in( select SNo from Student where SClassNo='''+ComboBox1.Text+''') and CNo='''+Edit1.Text+'''');
Open;
messagebox(handle,PChar('平均成绩为 '+ADOQueryAvg.FieldByName('AvgScore').AsString+' 分。'),'平均成绩',MB_ICONinformation+mb_ok);
end;
end
else
begin
showmessage('请输入班级和课程名');
end;
end;
procedure TFrmIscore.ImageaddClick(Sender: TObject);
begin
FMDBConnect.ADOQueryIScore.Append;
FMIScoreInput.ShowModal;
end;
procedure TFrmIscore.Image4Click(Sender: TObject);
begin
if(messagebox(handle,PChar('确定删除吗?'),'删除记录',MB_ICONinformation+MB_OKCANCEL)=IDOK)then
begin
FMDBConnect.ADOQueryIScore.Delete;
end;
end;
procedure TFrmIscore.Image5Click(Sender: TObject);
begin
FMDBConnect.ADOQueryStu.Edit;
FMIScoreInput.ShowModal;
end;
procedure TFrmIscore.Image6Click(Sender: TObject);
begin
if(Edit1.Text<>'') then
begin
with FMDBConnect.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select SClassNo ,SUM(Score)/COUNT(SNo) as ClAvg from dbo.ViewClScore ' +
'where CNo='''+ Edit1.Text+''' Group by SClassNo');
Open;
FMIScoreChart.ShowModal;
end;
end
else
begin
showmessage('请输入需比较课程的课程号!');
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?