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

📄 unit1.~pas

📁 DELPHI开发的学生成绩管理系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    PageControl2: TPageControl;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    ComboBox1: TComboBox;
    Bevel1: TBevel;
    BitBtn1: TBitBtn;
    Edit2: TEdit;
    Label5: TLabel;
    ComboBox3: TComboBox;
    Label6: TLabel;
    ComboBox4: TComboBox;
    Label7: TLabel;
    Bevel2: TBevel;
    BitBtn2: TBitBtn;
    GroupBox2: TGroupBox;
    Edit1: TEdit;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Label8: TLabel;
    ComboBox5: TComboBox;
    Label9: TLabel;
    ComboBox6: TComboBox;
    Label4: TLabel;
    GroupBox3: TGroupBox;
    Memo1: TMemo;
    StaticText1: TStaticText;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    PageControl3: TPageControl;
    TabSheet6: TTabSheet;
    TabSheet7: TTabSheet;
    Bevel4: TBevel;
    BitBtn4: TBitBtn;
    GroupBox5: TGroupBox;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Edit4: TEdit;
    ComboBox10: TComboBox;
    GroupBox6: TGroupBox;
    Memo2: TMemo;
    StaticText2: TStaticText;
    GroupBox4: TGroupBox;
    Label10: TLabel;
    Label11: TLabel;
    Label14: TLabel;
    Bevel3: TBevel;
    DBGrid2: TDBGrid;
    ComboBox7: TComboBox;
    Edit3: TEdit;
    BitBtn3: TBitBtn;
    Bevel5: TBevel;
    PopupMenu2: TPopupMenu;
    MenuItem1: TMenuItem;
    Edit5: TEdit;
    Edit6: TEdit;
    PageControl4: TPageControl;
    TabSheet8: TTabSheet;
    GroupBox7: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Bevel6: TBevel;
    DBGrid3: TDBGrid;
    Edit7: TEdit;
    BitBtn5: TBitBtn;
    TabSheet9: TTabSheet;
    Bevel7: TBevel;
    BitBtn6: TBitBtn;
    GroupBox8: TGroupBox;
    Label22: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Edit8: TEdit;
    ComboBox12: TComboBox;
    GroupBox9: TGroupBox;
    StaticText3: TStaticText;
    Edit9: TEdit;
    Panel1: TPanel;
    PopupMenu3: TPopupMenu;
    MenuItem2: TMenuItem;
    BitBtn7: TBitBtn;
    procedure ComboBox1Change(Sender: TObject);
    procedure PageControl2Change(Sender: TObject);
    procedure GetCollage(which:Tcombobox);
    procedure ComboBox2Change(Sender: TObject);
    procedure FindCourseSQL(condition:string);
    procedure ComboBox3Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure ComboBox7Change(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure MenuItem1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure GetCourse(which:Tcombobox);
    procedure MenuItem2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox12Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses datamodel;

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  tempstr:string;
begin
   with datamodel.DataModule2.ADOQuery1 do
     begin
       if combobox1.ItemIndex <>0 then
         tempstr:=' and 学院="'+combobox1.Text +'"'
       else
         tempstr:='';
       close;
       sql.Clear;
       sql.Add('select distinct *');
       sql.Add('from 课程,年级');
       sql.add('where 课程.课程=年级.课程'+tempstr);
       sql.Add('order by 学院');
       open;
     end;
end;

procedure TForm1.GetCollage(which: Tcombobox);
var
  i:integer;
begin
  with  datamodel.DataModule2 do
        begin
          quarytemp.close;
          quarytemp.SQL.Clear;
          quarytemp.SQL.Add('select distinct 学院');
          quarytemp.SQL.Add('from 课程');
          quarytemp.Open;
        end;
      which.Items.Clear;
      with datamodel.DataModule2 do
        begin
          for i:=1 to  QuaryTemp.RecordCount do
            begin
            //QuaryTemp.FieldByName('学院').AsString
              which.Items.Add(QuaryTemp.FieldByName('学院').AsString);
              quarytemp.Next;
            end;
        end;
      which.ItemIndex :=0;
end;

procedure TForm1.PageControl2Change(Sender: TObject);
begin
  if pagecontrol1.TabIndex =1 then
    begin
      DBGrid1.DataSource:=DataSource2;
      if pagecontrol2.tabindex=0 then
        begin
          //ComboBox1DropDown(Sender);
          GetCollage(combobox1);
          combobox1.Items.Insert(0,'所有学院');
          combobox1.ItemIndex:=0;
          ComboBox1Change(Sender);
        end
      else if pagecontrol2.TabIndex =1 then
        begin
          GetCollage(combobox2);
          combobox2.Text:='';
          edit1.Text:='';

          memo1.Text:='';
          statictext1.Caption:='';

        end;
    end
  else
    begin
      dbgrid1.DataSource:=nil;

    end;

  if pagecontrol1.TabIndex =2 then
    begin
      DBGrid2.DataSource:=DataSource2;
      if pagecontrol3.tabindex =0 then
        begin
          //ComboBox1DropDown(Sender);
          GetCollage(combobox7);
          combobox7.Items.Insert(0,'所有学院');
          combobox7.ItemIndex:=0;
          //ComboBox1Change(Sender);
          ComboBox7Change(Sender);
          //showmessage('asdfasf');
        end
      else if pagecontrol3.TabIndex =1 then
        begin
          GetCollage(combobox10);
          combobox10.Text:='';
          edit4.Text:='';
          memo2.Text:='';
          edit5.Text:='';
          edit6.Text:='';
          statictext2.Caption:='';
        end;
    end
  else
    begin
      dbgrid2.DataSource:=nil;

    end;

  if pagecontrol1.TabIndex =0 then
    begin
      DBGrid3.DataSource:=DataSource2;
      if pagecontrol4.tabindex =0 then
        begin
          with datamodel.DataModule2.ADOQuery1 do
            begin
              close;
              sql.Clear;
              sql.Add('select distinct *');
              sql.Add('from 成绩,学生');
              sql.add('where 成绩.学号=学生.学号');
              sql.Add('order by 学院,学生.学号');
              open;
             end;
          //ComboBox1DropDown(Sender);
          //GetCollage(combobox7);
          //combobox7.Items.Insert(0,'所有学院');
          //combobox7.ItemIndex:=0;
          //ComboBox1Change(Sender);
          //ComboBox7Change(Sender);
          //showmessage('asdfasf');
        end
      else if pagecontrol4.TabIndex =1 then
        begin
          GetCourse(combobox12);
          //combobox10.Text:='';
          //edit4.Text:='';
          //memo3.Text:='';
          edit9.Text:='';
          edit8.Text:='';
          statictext2.Caption:='';
        end;
    end
  else
    begin
      dbgrid3.DataSource:=nil;

    end;


  
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
  //
end;

procedure TForm1.FindCourseSQL(condition: string);
var temp:string;
begin
  if combobox1.ItemIndex=0 then
    temp:=''
  else
    temp:= ' and 学院="'+combobox1.Text +'"';
   with datamodel.DataModule2.ADOQuery1 do
     begin
       close;
       sql.Clear;
       sql.Add('select distinct *');
       sql.Add('from 课程,年级');
       sql.add('where 课程.课程=年级.课程'+temp+condition);
       sql.Add('order by 学院');
       open;
     end;
end;

procedure TForm1.ComboBox3Change(Sender: TObject);
var
  cond:string;

⌨️ 快捷键说明

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