Delphi学生学籍管理系统 第4页
Delphi学生学籍管理系统 第4页
ClassesU窗体模板单元
uses Graphics;
//学生信息
type
TStudent=class
stdNo:string;//学生证号
stdName:string; //姓名
picPath:string;//照片路径
sex:string;//性别
nation:string;//民族
birthday:string;
native:string;//籍贯
IDCard:string;//身份证号
homeTel:string;//家庭电话
address:string;//居住地址
postalcode:string;//邮政编码
inDate:string;//入校日期
ClassName:string;//所在院系
duty:string;//职务
remark:string;//备注
end;
//操作员信息
type
TOperator=class
id:integer;
Operid:string;//操作员ID
OperName:string;//操作员姓名
pwd:string;//密码
privilege:string;//权限
remark:string;//备注
end;
//院系
type
TClasses=class
id:integer;
className:string;//院系名
fatherID:integer;//上级id
end;
//学籍变动
type
TStatus=class
id:integer;
studentNo:string; //学生编号
changeType:string;//变动类型
changeDate:string;//变动日期
oldClass:string;//原班级
newSchool:string;//转入学校
newClass:string;//转入班级
reason:string;//学籍变动原因
remark:string;//备注
end;
//奖惩信息
type
TEvaluation=class
id:integer;
stdNo:string;//学号
Edate:string;//奖惩日期
Etype:string;//奖惩类型
remark:string;//奖惩说明
end;
//教育经历
type
TExperience=class
id:integer;
stdNo:string;//学号
beginDate:string;//开始日期
endDate:string;//结束日期
school:string;//学校名
duty:string;//职务
end;
Control_classU院系管理单元代码
//添加
function Addclasses(classes:Tclasses):boolean;
//修改院系
function Editclasses(classes:Tclasses):boolean;
//删除院系
function Delclasses(classesID:integer):boolean;
//得到院系记录
function GetclassesArray:TADOQuery;
//根据院系id查找院系信息
function GetclassesByclassesID(classesID:integer):Tclasses;
//根据院系名查找院系信息
function GetclassesByName(className:string):Tclasses;
//向Combobox中填充数据
procedure FillCombobox(cbx:TCombobox);
implementation
procedure FillCombobox(cbx:TCombobox);
var
query:TADOQuery;
begin
query:=TADOQuery.Create(nil);
query:=GetclassesArray;
cbx.Items.Clear;
while not query.Eof do
begin
cbx.Items.Add(query.FieldValues['院系名']);
query.Next;
end;
cbx.ItemIndex:=0;
query:=nil;
end;
function GetclassesByName(className:string):Tclasses;
var
sql:string;
classes:Tclasses;
ADOQuery:TADOQuery;
begin
ADOQuery:=TADOQuery.Create(nil);
sql:='select id,院系名,上级id from 院系'+
' where 院系名='+''''+className+''''+
' order by 院系名';
ADOQuery:=DAHelper.ExeSqlQuery(sql);
if(ADOQuery.RecordCount<1) then
begin
result:=nil;
end
else
begin
classes:=Tclasses.Create;
classes.id:=ADOQuery.Fields[0].Value;
classes.className:=ADOQuery.Fields[1].Value;
classes.fatherID:=ADOQuery.Fields[2].Value;
result:=classes;
end;
ADOQuery:=nil;
end;
function GetclassesByclassesID(classesID:integer):Tclasses;
var
sql:string;
classes:Tclasses;
ADOQuery:TADOQuery;
begin
ADOQuery:=TADOQuery.Create(nil);
sql:='select id,院系名,上级id from 院系'+
' where id='+inttostr(classesID);
ADOQuery:=DAHelper.ExeSqlQuery(sql);
if(ADOQuery.RecordCount<1) then
begin
result:=nil;
end
else
begin
classes:=Tclasses.Create;
classes.id:=ADOQuery.Fields[0].Value;
classes.className:=ADOQuery.Fields[1].Value;
classes.fatherID:=ADOQuery.Fields[2].Value;
result:=classes;
end;
ADOQuery:=nil;
end;
function GetclassesArray:TADOQuery;
var
sql:string;
begin
sql:='select a.id,a.院系名,a.上级id,isnull(b.院系名,''本校'') 上级院系名 from 院系 a '+
' left outer join 院系 b on a.上级id=b.id';
result:=DAHelper.ExeSqlQuery(sql);
end;
function Delclasses(classesID:integer):boolean;
var
sql:string;
begin
sql:='delete from 院系 where id='+inttostr(classesID);
result:=DAHelper.ExeSqlNoQuery(sql);
end;
function Editclasses(classes:Tclasses):boolean;
var
sql:string;
begin
sql:='update 院系 set 院系名='+''''+classes.className+''''+
',上级id='+inttostr(classes.fatherID)+
' where id='+inttostr(classes.id);
result:=DAHelper.ExeSqlNoQuery(sql);
end;
function Addclasses(classes:Tclasses):boolean;
var
sql:string;
begin
sql:='insert into 院系(院系名,上级id)'+
' values('+''''+classes.className+''''+
','+inttostr(classes.fatherID)+ ')';
result:=DAHelper.ExeSqlNoQuery(sql);
end;