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

📄 static.~pas

📁 中学考试管理系统 采用智能管理 具有统计分析的能力
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
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 + -