📄 search.~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 + -