📄 static.~pas
字号:
unit static;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeeProcs, TeEngine, Chart, MXGRAPH, Grids, MXGRID, ExtCtrls,
MXPIVSRC, MXDB, DB, DBTables, MXTABLES, Mxstore, StdCtrls, ComCtrls,
DBGrids, ADODB, DBCtrls;
type
TForm6 = class(TForm)
PageControl1: TPageControl;
TabSheet2: TTabSheet;
Panel1: TPanel;
scale: TComboBox;
Button1: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
subject: TComboBox;
Edit10: TEdit;
Label11: TLabel;
Panel2: TPanel;
Label10: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Label17: TLabel;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
Edit20: TEdit;
ADOConnection1: TADOConnection;
avgQry: TADOQuery;
nineQry: TADOQuery;
maxQry: TADOQuery;
eightQry: TADOQuery;
sevenQry: TADOQuery;
sixQry: TADOQuery;
failQry: TADOQuery;
Panel3: TPanel;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
subject1: TComboBox;
Button2: TButton;
grade1: TComboBox;
cName1: TComboBox;
condition: TComboBox;
cond: TComboBox;
DBGrid1: TDBGrid;
Button3: TButton;
Button4: TButton;
Button5: TButton;
grade: TComboBox;
cName: TComboBox;
ADOConnection2: TADOConnection;
DataSource1: TDataSource;
numQry: TADOQuery;
DataSource2: TDataSource;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
TabSheet1: TTabSheet;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
Label18: TLabel;
numEd: TEdit;
condCB: TComboBox;
Label19: TLabel;
cNumCB: TComboBox;
Label20: TLabel;
tNumCB: TComboBox;
Button6: TButton;
Button7: TButton;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
optionCourseDS: TDataSource;
teacherDS: TDataSource;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
optionQry: TADOQuery;
teacherQry: TADOQuery;
Label21: TLabel;
wayCB: TComboBox;
Label22: TLabel;
top: TEdit;
Label23: TLabel;
bottom: TEdit;
Label24: TLabel;
GroupBox9: TGroupBox;
staticDS: TDataSource;
DBGrid4: TDBGrid;
DBNavigator3: TDBNavigator;
staticQry: TADOQuery;
GroupBox10: TGroupBox;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Edit21: TEdit;
Edit22: TEdit;
Edit23: TEdit;
Edit24: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Edit28: TEdit;
Edit29: TEdit;
Edit30: TEdit;
Label34: TLabel;
avgEd: TEdit;
Button8: TButton;
Button9: TButton;
staticQry1: TADOQuery;
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure gradeChange(Sender: TObject);
procedure grade1Change(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure condCBChange(Sender: TObject);
procedure wayCBChange(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses main, logout;
{$R *.dfm}
procedure TForm6.Button5Click(Sender: TObject);
begin
Form6.Hide;
Form14.show;
//Application.Terminate;
end;
procedure TForm6.Button4Click(Sender: TObject);
begin
Form6.Hide;
Form2.show;
end;
procedure TForm6.Button1Click(Sender: TObject);
var
table_name,class_name:String;
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
edit9.Clear;
edit10.Clear;
table_name:='';
class_name:='';
if(grade.Text='初一') then table_name:='grade1_mark'
else if(grade.Text='初二') then table_name:='grade2_mark'
else if(grade.Text='初三') then table_name:='grade3_mark';
with avgQry do
begin
close;
with sql do
begin
clear;
if (scale.text='按年级统计') then
begin
if(table_name='grade3_mark') then
begin
add('SELECT str(AVG(数学)) , str(AVG(语文)) , str(avg(英语)) , str(avg(政治)) ,');
add('str(avg(历史)), str(avg(物理)), str(avg(化学)) , str(avg(生物)) , str(avg(地理)) FROM grade3_mark ');
end
else if (table_name='grade1_mark') then
begin
add('SELECT str(AVG(数学)), str(AVG(语文)), str(avg(英语)), str(avg(政治)) as 政治平均成绩,');
add('str(avg(历史)) FROM grade1_mark ');
end
else if (table_name='grade2_mark') then
begin
add('SELECT str(AVG(数学)) , str(AVG(语文)) , str(avg(英语)) , str(avg(政治)) ,');
add('str(avg(历史)) , str(avg(物理)) , str(avg(生物)) , str(avg(地理)) FROM grade2_mark ');
end;
end
else if (scale.text='按班级统计') then
begin
if(cName.Text='一班') then class_name:='一班'
else if(cName.Text='二班') then class_name:='二班';
if(table_name='grade1_mark') then
begin
add('SELECT str(AVG(数学)) , str(AVG(语文)), str(avg(英语)) , str(avg(政治)) , ');
add(' str(avg(历史)) FROM grade1_mark GROUP BY 班级 having 班级 = '''+cName.Text+'''');
end
else if(table_name='grade2_mark') then
begin
add('SELECT str(AVG(数学)) , str(AVG(语文)) , str(avg(英语)) , str(avg(政治)) ,');
add('str(avg(历史)) , str(avg(物理)) , str(avg(生物)) , str(avg(地理)) FROM grade2_mark GROUP BY 班级 having 班级 ='''+cName.text+'''');
end
else if(table_name='grade3_mark') then
begin
add('SELECT str(AVG(数学)) , str(AVG(语文)) , str(avg(英语)) , str(avg(政治)) ,');
add('str(avg(历史)), str(avg(物理)), str(avg(化学)) , str(avg(生物)) , str(avg(地理)) FROM grade3_mark GROUP BY 班级 having 班级 ='''+cName.text+'''');
end;
end
else
showMessage('请选定统计范围');
end;
try
if(scale.Text='按年级统计') then
begin
if(table_name='') then showMessage('请先选择年级')
else
begin
open;
numQry.Close;
numQry.SQL.Clear;
numQry.SQL.Add('SELECT * FROM '+ table_name+'') ;
numQry.Open;
end
end
else if(scale.Text='按班级统计') then
begin
if((table_name='') or (class_name= '')) then showMessage('请先选择年级和班级')
else
begin
open;
numQry.Close;
numQry.SQL.Clear;
numQry.SQL.Add('SELECT * FROM '+ table_name+' where 班级='''+class_name+'''') ;
numQry.Open;
end
end
except
showMessage('查询平均成绩失败');
end;
if(not(avgQry.Eof)) then
begin
if((scale.Text='按年级统计') or (scale.Text='按班级统计')) then
begin
if(not (table_name='')) then
begin
if(table_name='grade1_mark') then
begin
edit1.Text:=avgQry.Fields[0].AsString;
edit2.Text:=avgQry.Fields[1].AsString;
edit3.Text:=avgQry.Fields[2].AsString;
edit4.Text:=avgQry.Fields[3].AsString;
edit5.Text:=avgQry.Fields[4].AsString;
edit6.Text:='未开课' ;
edit7.Text:='未开课' ;
edit8.Text:='未开课' ;
edit9.Text:='未开课' ;
end
else if(table_name='grade2_mark') then
begin
edit1.Text:=avgQry.Fields[0].AsString;
edit2.Text:=avgQry.Fields[1].AsString;
edit3.Text:=avgQry.Fields[2].AsString;
edit4.Text:=avgQry.Fields[3].AsString;
edit5.Text:=avgQry.Fields[4].AsString;
edit6.Text:=avgQry.Fields[5].AsString;
edit9.Text:=avgQry.Fields[6].AsString;
edit8.Text:=avgQry.Fields[7].AsString;
edit7.Text:='未开课' ;
end
else if (table_name='grade3_mark') then
begin
edit1.Text:=avgQry.Fields[0].AsString;
edit2.Text:=avgQry.Fields[1].AsString;
edit3.Text:=avgQry.Fields[2].AsString;
edit4.Text:=avgQry.Fields[3].AsString;
edit5.Text:=avgQry.Fields[4].AsString;
edit6.Text:=avgQry.Fields[5].AsString;
edit7.Text:=avgQry.Fields[6].AsString;
edit8.Text:=avgQry.Fields[7].AsString;
edit9.Text:=avgQry.Fields[8].AsString;
end;
end;
end;
//计算总人数
if (not numQry.Eof) then
edit10.Text:=inttostr(numQry.recordcount)
else
showMessage('查询结果为空');
end;
end;
end;
procedure TForm6.Button3Click(Sender: TObject);
var
table_name,class_name,subject_name:String;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -