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

📄 search.~pas

📁 中学考试管理系统 采用智能管理 具有统计分析的能力
💻 ~PAS
字号:
unit search;

interface

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

type
  TForm5 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ADOConnection1: TADOConnection;
    studentQry: TADOQuery;
    GroupBox1: TGroupBox;
    condition: TComboBox;
    gName: TComboBox;
    cName: TComboBox;
    Label1: TLabel;
    num: TEdit;
    Label2: TLabel;
    uName: TEdit;
    Button1: TButton;
    Button2: TButton;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    cond: TComboBox;
    grade1: TComboBox;
    cName1: TComboBox;
    Label3: TLabel;
    Label4: TLabel;
    num1: TEdit;
    uName1: TEdit;
    Button3: TButton;
    Button4: TButton;
    DBGrid2: TDBGrid;
    markQry: TADOQuery;
    DataSource2: TDataSource;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    stuNum: TEdit;
    numQry: TADOQuery;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    TabSheet3: TTabSheet;
    GroupBox3: TGroupBox;
    Label8: TLabel;
    DataSource3: TDataSource;
    DBGrid3: TDBGrid;
    DBNavigator1: TDBNavigator;
    DBNavigator2: TDBNavigator;
    DBNavigator3: TDBNavigator;
    Button9: TButton;
    Button10: TButton;
    optionQry: TADOQuery;
    Label9: TLabel;
    numEd: TEdit;
    Button11: TButton;
    Button12: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure condChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure conditionChange(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

uses main, logout;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
var
  table_name,class_name,con,numText,uNameText:String;

begin
  con:=condition.Text;
  table_name:='';
  class_name:='';
  numText:='';
  uNameText:='';

  if(gName.Text='初一') then table_name:='grade1_mark'
  else if (gName.Text='初二') then table_name:='grade2_mark'
  else if (gName.Text='初三') then table_name:='grade3_mark';

  if(cName.Text='一班') then class_name:='一班'
  else if (cName.Text='二班') then class_name:='二班';

  if  ((table_name<>'') or (class_name<>'')) then
  begin
  with markQry do
    begin
      close;
      with sql do
        begin
          clear;
          if (con='按年级查询') then
              add('select * from '+table_name+'')
          else if (con='按班级查询') then
             add('select * from '+table_name+' where 班级 = '''+class_name+'''')
          else if (con='按学号查询')then
             begin
               numText:=num.Text;
               add('select * from '+table_name+' where 学号 = '''+num.Text+'''');
             end
          else  if( con='按姓名查询') then
            begin
              uNameText:=uNameText;
              add('select * from '+table_name+' where 姓名= '''+uName.text+'''');
            end
         end;
         if(con= '按年级查询') then
           begin
             if(table_name='') then showMessage('请先选择年级')
             else open;
           end
         else if (con='按班级查询') then
           begin
             if((table_name='') or (class_name='')) then showMessage('请先选择年级和班级')
             else open;
           end
         else if (con='按学号查询') then
           begin
             if((table_name='') or (numText='')) then showMessage('请先选择年级和先输入学号')
             else open;
           end
         else  if( con='按姓名查询') then
           begin
             if((table_name='') or (uNameText='')) then showMessage('请先输入年级和先输入学生的姓名')
             else open;
           end;
       if(markQry.Eof) then
      begin
        if(con='按年级查询') then
          showMessage('你所选择的年级不存在,请重新选择或输入')
        else if  (con='按班级查询') then
          showMessage('你所选择的班级不存在,请重新选择或输入')
        else if (con='按学号查询') then
          showMessage( '你所输入的学号不存在,请重新输入')
        else
          showMessage('你所输入的姓名不存在,请重新输入');
       end;


    end;
   end
   else showMessage('请先选择班级和年级');
end;

procedure TForm5.Button2Click(Sender: TObject);
begin
  num.Text:='';
  uName.text:='';

end;





procedure TForm5.Button3Click(Sender: TObject);
  var
  con:String;
  num:Integer;
begin
  con:=cond.Text;
  with studentQry do
    begin
      close;
      with sql do
        begin
          clear;
          if (con='按年级查询') then
            add('select * from student where 年级='''+grade1.Text+'''')
          else if (con='按班级查询') then
            add('select * from student where 班级 like '''+cName1.Text+''' and 年级='''+grade1.Text+'''')
          else if (con='按学号查询') then
            add('select * from student where 学号= '''+num1.Text+'''')
          else
            add('select * from student where 姓名= '''+uName1.text+'''');
         end;
         open;

    end;
    if(studentQry.Eof) then
      begin
        if(con='按年级查询') then
          showMessage('你所选择的年级不存在,请重新选择或输入')
        else if  (con='按班级查询') then
          showMessage('你所选择的班级不存在,请重新选择或输入')
        else if (con='按学号查询') then
          showMessage( '你所输入的学号不存在,请重新输入')
        else
          showMessage('你所输入的姓名不存在,请重新输入');
       end;

    num:=studentQry.RecordCount;
    stuNum.text:=inttostr(num);
    //showMessage(stuNum.text);


end;

procedure TForm5.Button4Click(Sender: TObject);
begin
  num1.Clear;
  cName1.Clear;
end;

procedure TForm5.Button6Click(Sender: TObject);
begin
  Form5.Hide;
  Form2.show;
end;

procedure TForm5.Button5Click(Sender: TObject);
begin
   Form5.Hide;
   Form14.show;
end;

procedure TForm5.TabSheet2Show(Sender: TObject);
begin
  num.Text:='';
  uName.Text:='';
end;

procedure TForm5.Button7Click(Sender: TObject);
begin
   Form5.Hide;
   Form2.show;
end;

procedure TForm5.Button8Click(Sender: TObject);
begin
   Form5.Hide;
   Form14.show;
end;

procedure TForm5.condChange(Sender: TObject);
begin
  if (cond.Text='按学号查询') then
    begin
      Label3.Enabled:=true;
      num1.Enabled:=true;
      Label4.Enabled:=false;
      uName1.Enabled:=false;
      cName1.Enabled:=false;
      grade1.Enabled:=false;
    end
  else if (cond.Text='按姓名查询') then
    begin
       Label4.Enabled:=true ;
       uName1.Enabled:=true;
       Label3.Enabled:=false;
       num1.Enabled:=false;
       cName1.Enabled:=false;
       grade1.Enabled:=false;
    end
  else if (cond.Text='按班级查询') then
    begin
      Label4.Enabled:=false ;
      num1.Enabled:=false;
      Label3.Enabled:=false;
      uName1.Enabled:=false;
      cName1.Enabled:=true;
      grade1.Enabled:=true;
    end
  else if (cond.Text='按年级查询') then
    begin
      Label4.Enabled:=false ;
      num1.Enabled:=false;
      Label3.Enabled:=false;
      uName1.Enabled:=false;
      cName1.Enabled:=false;
      grade1.Enabled:=true;
    end
end;

procedure TForm5.FormShow(Sender: TObject);
begin
  Label1.Enabled:=false;
  num.Enabled:=false;
  Label2.Enabled:=false;
  uName.Enabled:=false;
  cName.Enabled:=false;
  gName.Enabled:=true;
end;

procedure TForm5.conditionChange(Sender: TObject);
begin
  if (condition.Text='按学号查询') then
    begin
      Label1.Enabled:=true;
      num.Enabled:=true;
      Label2.Enabled:=false;
      uName.Enabled:=false;
      cName.Enabled:=false;
      gName.Enabled:=false;
    end
  else if (condition.Text='按姓名查询') then
    begin
       Label2.Enabled:=true ;
       uName.Enabled:=true;
       Label1.Enabled:=false;
       num.Enabled:=false;
       cName.Enabled:=false;
       gName.Enabled:=false;
    end
  else if (condition.Text='按班级查询') then
    begin
      Label2.Enabled:=false ;
      num.Enabled:=false;
      Label1.Enabled:=false;
      uName.Enabled:=false;
      cName.Enabled:=true;
      gName.Enabled:=true;
    end
  else if (condition.Text='按年级查询') then
    begin
      Label2.Enabled:=false ;
      num.Enabled:=false;
      Label1.Enabled:=false;
      uName.Enabled:=false;
      cName.Enabled:=false;
      gName.Enabled:=true;
    end
end;

procedure TForm5.Button9Click(Sender: TObject);
begin
   Form5.Hide;
   Form2.show;
end;

procedure TForm5.Button10Click(Sender: TObject);
begin
  Form5.Hide;
  Form14.Show;
end;

procedure TForm5.Button12Click(Sender: TObject);
begin
  numEd.Clear;
end;

procedure TForm5.Button11Click(Sender: TObject);
begin
  if (length(numEd.Text)>0) then
    begin
      optionQry.Close;
      optionQry.SQL.Clear;
      optionQry.SQL.Add('select sc.学号,student.姓名 as 学生姓名,sc.课程号,option_course.课程名,teacher.姓名 as 教师姓名,sc.分数 as 成绩  from sc,student,option_course,teacher where');
      optionQry.SQL.Add(' student.学号=sc.学号 and sc.课程号=option_course.课程号 and option_course.教师编号=teacher.教师编号 and sc.学号='''+numEd.Text+'''') ;
    //  showMessage(optionQry.SQL.Text);
      optionQry.Open;
      if(optionQry.Eof) then
        showMessage('你所查询的学生并没有选修其他课或是这个学生不存在,请重新输入学号');
    end
  else if(length(numEd.Text)>0) then
    begin
      showMessage('请先输入学号');
    end;  
end;

procedure TForm5.TabSheet3Show(Sender: TObject);
begin
  optionQry.Close;
  optionQry.SQL.Clear;
  optionQry.SQL.Add('select sc.学号,student.姓名 as 学生姓名,sc.课程号,option_course.课程名,teacher.姓名 as 教师姓名,sc.分数 as 成绩  from sc,student,option_course,teacher where');
  optionQry.SQL.Add(' student.学号=sc.学号 and sc.课程号=option_course.课程号 and option_course.教师编号=teacher.教师编号') ;
 // showMessage(optionQry.SQL.Text);
  optionQry.Open;
end;

end.

⌨️ 快捷键说明

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