版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生管理系统详细设计说明书乐山师范学院计算机科学系Attract工作室2003/08/30编写说明标题:详细设计说明书类别:文档密级:内部编辑软件:Microsoft Word 2000 中文版版本历史:版本作者日期备注V1.012002/09/08详细设计说明书V1.0.22003/08/30详细设计说明书编写目的:本文档详细描述组成系统的各个软件组成部分,包括每个软件模块(或类)的属性、方法、事件,各软件模块的外部接口说明,测试要点等内容。本文档由项目组维护,供项目组使用。目录第1章引言11.1. 项目说明11.2. 项目定义11.3. 编写目的11.4. 参考资料1第2章程序系统的结构2
2、第3章系统功能实现33.1. 系统控制台模块33.2. 新生管理子系统63.3. 学生在校管理子模块213.4. 社团组织管理子模块413.5. 毕业生管理子模块493.6. 教学评价打分633.7. 学生成绩网上查询65第1章 引言1.1. 项目说明项目名称:乐山师范学院学生管理系统。项目提出单位:乐山师范学院计算机科学系项目开发者:乐山师范学院计算机科学系Attract工作室项目使用部门:乐山师范学院各系科(学院)项目建设单位:乐山师范学院计算机科学系1.2. 项目定义系科综合管理信息系统是为了适应现代化学校管理的需要,加快推进我校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应
3、用技术和手段,提高办公效率、改善质量的高效管理信息系统。 学生管理系统是系科综合管理信息系统的重要组成部分。1.3. 编写目的本文档为“乐山师范学院系科综合管理信息系统(学生管理系统)详细设计说明书”,主要用于为实现系统的功能而进行的系统详细设计说明,详细系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。本文档供项目组全体成员及项目组领导,单元测试人员阅读。1.4. 参考资料学生管理系统_系统软件需求说明书。学生管理系统_系统概要设计说明书。学生管理系统_数据库设计说明书(数据库字典)。第2章 程序系统的结构整个学生管理系统的结构可由以下图示来表明
4、:学生管理系统系科综合信息管理系统新生报到管理模块在校生日常管理模块组织社团管理模块毕业生信息管理模块学生成绩查询模块其它管理功能第3章 系统功能实现从前面需求分析可以看出,系统功能庞杂,主要分为前台浏览器(B/S)信息发布和数据查询,后台(C/S)数据管理和处理,学生管理功能部分数据分为5类:新生相关;在校生相关;组织社团相关;毕业生相关;学生成绩综合查询相关。从使用和操作的功能上分,有三种用户:普通客户(浏览器浏览、查询);业务数据管理人员(学生工作辅导员、教务干事);系统管理员。为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,
5、编译成独立的目标(功能)模块(single Executable),各功能模块最后被集成到一个称为虚拟桌面的控制台模块中。相应地将系统结构分为一个控制台程序和五个子系统,各子系统又分为若干各子模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。3.1. 系统控制台模块功能:各子功能模块的组织和调用;统一的登陆界面实现到数据库服务器的登陆;显示系科主页Web的首页(主要是系科重要通知、消息等);学院通知页面;系科每周工作安排
6、。系统图标。设计:1. 登陆数据库:输入数据库服务器名(ServerIP)、用户账号()UserID、密码(PassWord);以账号DEP_Computer0、密码DEP_Computer0登陆数据库服务器,检索系统权限表,根据权限设置相应功能模块:无此用户或禁止权限Enable := False;浏览权限Enable := True;修改 UserID := Dep_Computer1;修改 PassWord := 11;修改权限Enable := True;修改 UserID := Dep_Computer2;修改 PassWord :=2;2. 采用Win31下程序组、程序项的原理组织
7、各执行模块:登陆服务器 新生录取数据、入学报道管理学生信息(在校)管理学生社团管理毕业生信息管理学生成绩综合查询与统计各程序组、程序项的显示分别可以是分层/树状/大图标/小图标等方式;各程序项或菜单项的名称命名为相应功能模块的目标代码文件名。3可执行功能模块的调用执行:通过程序项或菜单项名称获取可执行目标代码文件名,应用API函数CreateProcess开始执行。 i:= StartMenu.IndexOf(MenuItem); j:=StartMenu.Itemsi.IndexOf(MenuItem); case StartMenu.Itemsi.Itemsj.Tag of 1: allo
8、w:=禁止; 2: allow:=浏览; 3: allow:=修改; end;ExecutableFileName:=Trim(StartMenu.Itemsi.Itemsj.Name)+.exeFillChar(StartupInfo,Sizeof(StartupInfo),#0); StartupInfo.cb := Sizeof(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; CreateProcess(PChar(ExecutableFileName), , nil, nil, false, CREATE_NEW_C
9、ONSOLE or NORMAL_PRIORITY_CLASS, nil, ., StartupInfo, ProcessInfo);3.2. 新生管理子系统总体设计:新生管理子系统包含新生录取信息的导入,新生预分学号,新生班级分配,新生寝室安排,新生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高考成绩分布等。设计:下面给出设计方案与实现方法。新生基本信息管理招生数据导入报到预处理新生报到新生信息查询与统计预分学号班级编排寝室安排预处理查询现场报到处理欠费查询统计报到情况统计新生比例分布高考成绩统计模块名称:招生数据导入输入: 新生网上录取数据库;处理: 将招生数据按相同格式导
10、入系统数据库输出: 提示信息数据表:T_tdd,T_jhk,T_tddw等25个招生数据表,在数据库中T_mzdm导入MZB中,T_zzmmdm导入ZZMMB中。模块名称:预分学号输入: 招生数据导入的表;处理: 根据当前年份,为当前新生预分临时学号,并将新生信息导入在校生表,导入基本信息输出: 提示信息数据表:JBXX2:学生基本信息表(简) XS_BASE:学生基本信息(详)XS_EXPEND:学生扩展信息模块名称:班级编排输入: 学生预分学号信息,班级信息;处理: 将新生编入指定班级输出: 班级名单数据表:JBXX2:学生基本信息 BJXX:班级信息模块名称:寝室安排输入: 学生预分学号
11、信息,寝室信息;处理: 将新生按性别分入指定寝室输出: 寝室名单数据表:JBXX2:学生基本信息(简) XS_BASE:学生基本信息(详) QSZY:寝室资源表模块名称:现场报到处理输入: 学生预分学号、编班、寝室安排等信息;处理: 根据新生到校情况,完成新生报到情况的记载以及欠费记载输出: 表格数据表:JBXX2:学生基本信息 BJXX:班级信息 XS_BASE:学生基本信息 XS_BDQK:学生报到情况 XS_QFXX:学生欠费信息模块名称:新生欠费查询统计输入: 新生欠费信息;处理: 统计欠费新生信息输出: 欠费报表数据表:JBXX2:学生基本信息 XS_QFXX:学生欠费信息模块名称:
12、新生报到情况统计输入: 新生报到信息;处理: 根据新生报到信息,进行各项分类统计输出: 柱状图与表格信息数据表:JBXX2:学生基本信息 XS_BASE:学生基本信息 XS_EXPEND:学生扩展信息 BJXX:班级信息 SFB:省份表 MZB:民族表 ZZMMB:政治面貌表模块名称:新生信息统计输入: 新生网上录取数据库;处理: 按各种分类标准,对新生的分布情况进行统计输出: 饼状图与表格信息数据表:JBXX2:学生基本信息 XS_BASE:学生基本信息 MZB:民族表 ZZMMB:政治面貌表 SFB:省份表模块名称:新生高考成绩统计输入: 新生扩展信息,新生成绩信息;处理: 按各项成绩分别
13、统计各分数段人数比例输出: 柱状图与表格信息数据表:JBXX2:学生基本信息 XS_EXPEND:学生扩展信息 T_TDD:考生投档单功能:完成对新录取学生数据的导入完成对新生数据的报到预处理(初始化)实现新生报到现场完成,并统计报到情况统计新生的各种分布比例和成绩分布设计:总体设计:用Delphi的PageCtrl控件来实现各项菜单功能,整体界面如下:招生数据导入:可以通过选择来指定全国网上录取系统的导出数据所在路径,并根据使用手册检查25个.dbf文件是否存在,来决定是否允许导入;在导入时采用记录的查重处理,所以,只能借助记录集的循环来完成;其中,对政治面貌与民族表要单独处理。界面如下:主
14、要实现文件检查的代码:function CheckDBFile(var strRst:String):boolean;var i,j:integer; blFound:boolean;begin arrstrFileName0:=t_tddw;arrstrFileName1:=t_jhk;/此处对表名赋值 CheckDBFile:=False; blFound:=True;i:=0; strRst:=数据表; while (i25)do begin j:=DBFileListBox.Items.IndexOf(arrstrFileNamei+.dbf); if j=-1 then/某个文件未找
15、到,返回“假” begin blFound:=False; strRst:=strRst+arrstrFileNamei+.dbf ; end; i:=i+1; end; strRst:=strRst+不存在!; if blFound then /全部数据文件检查正确 CheckDBFile:=True;end;学号预处理:将导入的数据从信息库表到在校生表,并根据考生的考号及其它信息填入其基本信息(如省份、入年年份等);基本处理思想是:根据考生年份(报考号前两位)与当前系统数据库的绝对学期时间,筛选相应的考生信息,然后从这些信息中依次在学生基本信息表(JBXX2)中查询是否重复,来决定是否写入
16、;如果写入,则根据报考号(第3、4位)的信息,写入考生所在省份代码。 代码相对简单,界面如下新生班级编排:将分配学号的新生编排到指定班级中。用两个DBGrid(可多选)分别将未分班学生和班级信息列出来,通过手工选中一个或多个学生,即可分配班级或从班级中取消分班。界面如下:实现DBGrid多选并在数据库中完成添加的代码:with StuDBGrid.DataSource.DataSet dobegin for i:=0 to intSelStuCnt-1 do begin GotoBookmark(pointer(StuDBGrid.SelectedRows.Itemsi); strStuNo:
17、=Fields0.AsString; strSql:=Update jbxx2 set BJID=+strClasNo+; strSql:=strSql+ Where XH=+strStuNo+; database.Execute(strSql); end;end;寝室分配与班级编排可类似处理。新生现场报到:对新生的报到程序进行计算机管理,自动检查该新生是否已到校,是否已完成所有报到手续,以及新生的欠费情况(只记载欠费,不记载缴费);并根据各项手续的完成,来确认新生的报到状态,为下一步查询提供足够信息。界面如下:此处关键在于如何把数据表中“0”和“1”状态标志以CheckBox的状态输出,代码
18、如下:读出:if ADORegInfo.Active thenbegin strState:=ADORegInfo.FieldByName(SFQD).AsString; if strState=1 then /是否签到 Reg1Check.Checked:=true else Reg1Check.Checked:=false; strState:=ADORegInfo.FieldByName(ZZGX).AsString; if strState=1 then /组织关系 Reg2Check.Checked:=true else Reg2Check.Checked:=false;strSta
19、te:=ADORegInfo.FieldByName(HKQY).AsString; if strState=1 then /户口迁移 Reg3Check.Checked:=true else Reg3Check.Checked:=false; strState:=ADORegInfo.FieldByName(JCK).AsString; if strState=1 then /就餐卡 Reg4Check.Checked:=true else Reg4Check.Checked:=false; strState:=ADORegInfo.FieldByName(TJ).AsString; if
20、strState=1 then /体检 Reg5Check.Checked:=true else Reg5Check.Checked:=false;end;写回数据库:ADORegInfo.Edit;if Reg1Check.Checked then ADORegInfo.FieldByName(SFQD).AsString:=1else ADORegInfo.FieldByName(SFQD).AsString:=0;if Reg2Check.Checked then ADORegInfo.FieldByName(ZZGX).AsString:=1else ADORegInfo.FieldB
21、yName(ZZGX).AsString:=0;if Reg3Check.Checked then ADORegInfo.FieldByName(HKQY).AsString:=1else ADORegInfo.FieldByName(HKQY).AsString:=0;if Reg4Check.Checked then ADORegInfo.FieldByName(JCK).AsString:=1else ADORegInfo.FieldByName(JCK).AsString:=0;if Reg5Check.Checked then ADORegInfo.FieldByName(TJ).A
22、sString:=1else ADORegInfo.FieldByName(TJ).AsString:=0;ADORegInfo.Post;欠费查询可相应处理。报到情况统计:可以按性别、专业、班级、省份等统计学生的报到情况,并以柱状图和表格显示;提供自由控制条件查询未报到学生信息。界面如下:统计功能实现代码如下:CntBySexDBChar.Title.Text.Clear;/清除标题CntBySexDBChar.Title.Text.Add(新生报到情况(按班级统计);CntBySexDBChar.Series0.Clear;/清除图形strSql:=; CntStrGrid.RowCoun
23、t:=ADOQFCntQuery.RecordCount+1;for i:=0 to 4 do /设置StringGrid的标题begin CntStrGrid.Colsi.Clear; CntStrGrid.Colsi.Add(titleNamei);end;i:=0;RegSexTLbl.Lines.Clear; /清空统计显示while not ADOQFCntQuery.Eof dobeginintCntRegdi:=ADOQFCntQuery.FieldByName(ClassRegdCnt).AsInteger; CntBySexDBChar.Series0.Add(intCntT
24、oti,inttostr(i)+应到,clBlue); CntBySexDBChar.Series0.Add(intCntRegdi,到,clRed); strSql:=inttostr(i)+trim(strClassNamei)+报到比例:;strSql:=strSql+floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%+#13; RegSexTLbl.Lines.Add(strSql); CntStrGrid.Rowsi+1.Add(inttostr(i+1); CntStrGrid.Rowsi+1.Add(strClassName
25、i); CntStrGrid.Rowsi+1.Add(inttostr(intCntToti); CntStrGrid.Rowsi+1.Add(inttostr(intCntRegdi);CntStrGrid.Rowsi+1.Add(floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%); i:=i+1; ADOQFCntQuery.Next; /下一个班end;新生分布情况统计:从学生的扩展信息与高考资料中提取信息,统计新生的各种分布情况,以饼状图和表格信息显示出来。界面如下:相应地,高考成绩信息也可以按科目绘制出柱状图来反映分布情况,对
26、新生的整体情况有一个大概了解,以便有针对性地开展工作。界面如下:成绩统计的代码如下:strSql:=Select Max(+FieldName+) as MaxScore,Min(+FieldName+) as MinScore,AVG(+FieldName+) as AvgScore;strSql:=strSql+ From t_tdd,xs_base,xs_expend Where t_tdd.ksh=xs_expend.bkh and xs_expend.xh=xs_base.xh;strSql:=strSql+ and Nj=+MidStr(CurrentXQSJ,1,4);ADOQF
27、CntQuery.SQL.Clear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;if ADOQFCntQuery.Eof thenbegin ShowMessage(对不起,未找到相关学生的成绩!); abort;end;for i:=0 to 2 dobegin CntScoreStrGrid.Colsi.Clear; CntScoreStrGrid.Colsi.Add(titleNamei);end;CntScoreDBChart.Title.Text.Clear;CntScoreDBChart.Title.Text.Add(新生高考
28、成绩统计+itemName+);CntScoreDBChart.Series0.Clear;maxScore:=ADOQFCntQuery.FieldByName(MaxScore).AsInteger;minScore:=ADOQFCntQuery.FieldByName(MinScore).AsInteger;avgScore:=ADOQFCntQuery.FieldByName(AvgScore).AsInteger;itemsCount:=trunc(maxScore-minScore)/5)+1;intCrntScore:=trunc(minScore/5)*5;i:=0;isWri
29、te:=true;CntScoreStrGrid.RowCount:=itemsCount+4;while (iitemsCount) and (i=+inttostr(intCrntScore); strSql:=strSql+ and +FieldName+inttostr(intCrntScore+5); intCrntScore:=intCrntScore+5; ADOQFCntQuery.SQL.Clear; ADOQFCntQuery.SQL.Add(strSql); ADOQFCntQuery.Open;intCrntCnti:=ADOQFCntQuery.FieldByName
30、(CrntCnt).AsInteger; strSql:=; if (isWrite) or (itemsCount12) then strSql:=inttostr(intCrntScore-5)+-;CntScoreDBChart.Series0.Add(intCrntCnti,strSql,intColori mod 11);CntScoreStrGrid.Rowsi+1.Add(inttostr(intCrntScore-5)+-+inttostr(intCrntScore); CntScoreStrGrid.Rowsi+1.Add(inttostr(intCrntCnti);CntS
31、coreStrGrid.Rowsi+1.Add(floattostr(trunc(intCrntCnti/59*10000)/100)+%); isWrite:=not isWrite; i:=i+1;end;CntScoreStrGrid.Rowsi+1.Add(最高分);CntScoreStrGrid.Rowsi+1.Add(inttostr(maxScore);CntScoreStrGrid.Rowsi+2.Add(最低分);CntScoreStrGrid.Rowsi+2.Add(inttostr(minScore);CntScoreStrGrid.Rowsi+3.Add(平均分);Cn
32、tScoreStrGrid.Rowsi+3.Add(inttostr(avgScore);3.3. 学生在校管理子模块在校生信息管理基础编码基本数据日常管理奖惩信息勤工助学信息基它信息班级基本信息新生学号替换日常考勤管理寝室清洁卫生在校生奖励信息在校生处罚信息在校生异动信息困难学生信息困难补助管理勤工俭学管理学期注册管理学年鉴定管理学生基本信息在校生欠费管理在校生日志信息模块名称:基础编码输入:在校生基础编码信息处理: 维护管理在校生管理基础编码信息输出: 在校生基础编码数据表:JBXX2:学生基本信息BJXX:班级信息XS_YDLB:异动类型信息XS_BZLB:补助类型信息XS_ZXLB:助
33、学金类型信息XS_JXJLB:奖学金类型信息XS_DKLB:贷款类型信息XS_QSZY:寝室资源信息SFB:省份信息模块名称:学生基本信息输入:在校生基本信息处理: 根据学生简况信息管理系科学生基本信息输出: 在校生基本信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_BASE:在校生基本信息XS_EXPEND:在校生扩充信息模块名称:班级基本信息输入:班级基本信息处理: 根据班级简况信息管理班级详细数据输出: 班级详细数据数据表:BJXX:班级信息XS_BJXX:班级基本信息模块名称:新生学号替换输入:新生正式学号分配信息处理: 用新生正式学号替换相关数据表中新生临时学号输出: 在
34、校生正式学号分配信息数据表:JBXX2:学生基本信息其它相关使用新生临时学号数据用于新生临时学号的导出和正式学号的导入的数据表(本地表)模块名称:在校生日常考勤管理输入:在校生日常考勤信息处理: 维护和管理在校生日常考勤信息输出: 在校生考勤信息及相关统计报表数据表:JBXX2:学生基本信息BJXX:班级信息XS_KQXX:学生考勤信息模块名称:在校生寝室清洁卫生管理输入:在校生寝室清洁卫生信息处理: 维护管理在校生寝室清洁卫生信息输出: 在校生寝室清洁卫生数据及相关统计报表数据表:JBXX2:学生基本信息BJXX:班级信息XS_QJWS:异动类型信息模块名称:在校生奖励信息管理输入:在校生奖
35、励信息处理: 维护管理在校生奖励信息输出: 在校生奖励信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_HJXX:奖励信息模块名称:在校生处罚信息管理输入:在校生处罚信息处理: 维护管理在校生处罚信息输出: 在校生处罚信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_CFXX:处罚信息模块名称:在校生异动信息管理输入:在校生异动信息处理: 维护管理在校生异动信息输出: 在校生异动信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_YDXX:异动信息模块名称:困难学生基本信息输入:困难学生基本信息处理: 维护管理困难学生收入来源及生活情况输出: 困难学生基本信息数据表
36、:JBXX2:学生基本信息BJXX:班级信息XS_KNXX:困难学生基本信息模块名称:困难补助信息管理输入:在校生接受困难补助信息处理: 维护管理在校生困难补助情况输出: 在校生困难补助信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_KNBZ:困难补助信息模块名称:勤工俭学信息管理输入:在校生勤工俭学信息处理: 维护管理在校生勤工俭学情况输出: 在校生勤工俭学信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_QGZX:勤工俭学信息模块名称:在校生学期注册信息管理输入:在校生学期注册信息处理: 管理在校生学期报到注册信息,并验证学生基本信息以学生欠费信息输出: 在校生学期注
37、册信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_XQZC:困难补助信息XS_BASE:学生基本信息信息XS_QFXX:学生欠费信息模块名称:在校生学年鉴定信息管理输入:在校生学年鉴定信息处理: 管理在校生学年鉴定信息输出: 在校生学年鉴定信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_XNJD:学生学年鉴定信息模块名称:在校生欠费信息管理输入:在校生欠费信息处理: 管理在校生欠费信息输出: 在校生欠费信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_QFXX:学生欠费信息模块名称:在校生日志信息管理输入:在校生日志信息处理: 管理在校生日志信息输出: 在校生
38、日志信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_RZXX:学生日志信息功能:在校生信息管理基础编码的维护和管理;在校生详细信息维护和管理;班级详细信息维护和管理;新生入校分配正式学号后对数据表中相关使用临时学号的数据进行替换;在校生日常缺勤信息的维护以及制作相关统计报表;在校生寝室清洁卫生的维护和相关报表制作;在校生奖惩信息的维护和管理;在校生异动信息(转系、留级、退学、休学、停学等)维护和管理;困难学生基本信息管理以及困难补助和勤工俭学信息管理;在校生学期注册信息管理;在校生学年鉴定信息管理;在校生欠费信息管理;在校生其它日志信息管理设计:本模块采用多文档窗体的形式,并提供子
39、窗体排列的两种不同形式(层叠和平铺)基础编码管理采用分页结构,完成在校生管理中所需要的基础字典进行编码;学生基本信息管理采用分页结构,在学生简况信息的基础上完成其它详细信息的编辑和查询功能(需检验学生基本信息的唯一性)case pagecontrol1.ActivePageIndex of 0: jbxxquery.Locate(xh,dbedit1.Text,loPartialKey);/定位指定学生记录 1: begin xsjbxxtable.Filtered:=false; xsjbxxtable.Filter:=xh=+dbedit4.Text+; xsjbxxtable.Filte
40、red:=true; if xsjbxxtable.recordcount=0 then dbnavigator1.VisibleButtons:=nbFirst,nbPrior,nbNext,nbLast,nbInsert,nbDelete,nbEdit,nbPost,nbCancel/如不存在该学生基本信息则允许新建 else dbnavigator1.VisibleButtons:=nbFirst,nbPrior,nbNext,nbLast,nbDelete,nbEdit,nbPost,nbCancel;/如存在学生基本信息则不允许新建 if zxsglfrm.BrowseTB.Down
41、 then dbnavigator1.VisibleButtons:=nbFirst,nbPrior,nbNext,nbLast; end;班级基本信息管理在班级简况信息的基础上完成班级其它详细信息的维护和管理新生学号替换在新生进校后,正式学号可能会延时分配,因此,在新生的管理为方便进行管理设置了临时学号,在正式学号分配完成后,应将数据表中新生数据临时学号替换为正式学号先选取要进行学号替换的班级,生成新生学号输入表(本地数据库LOCALDB.MDB)并以班级编号为名建表; adocommand1.CommandText:=create table +bjid_combo.Items.Strin
42、gsbjmc_combo.itemindex+ (oldxh char(11),xsxm char(8),xb char(2),newxh char(11); adocommand1.Execute;/创建本地新生学号输入表 while not bj_query.Eof do begin adocommand1.CommandText:=insert into +bjid_combo.Items.Stringsbjmc_combo.itemindex+(oldxh,xsxm,xb,newxh) values (+bj_query.Fieldbyname(xh).asstring+,+bj_qu
43、ery.Fieldbyname(xm).asstring+,+bj_query.Fieldbyname(xb).asstring+,null); adocommand1.Execute;/在本地输入表中添加学生基本数据 bj_query.Next; end;再导出新生输入表,并允许再进行编辑;localtable.Close;localtable.TableName:=bjid_combo.Items.Stringsbjmc_combo.itemindex;localtable.Active:=true;/导入新生正式学号输入表localtable.FieldByName(oldxh).Dis
44、playLabel:=旧学号;localtable.FieldByName(xsxm).DisplayLabel:=姓名;localtable.FieldByName(xb).DisplayLabel:=性别;localtable.FieldByName(newxh).DisplayLabel:=新学号;button5.Enabled:=true;/允许进行学号替换最后进行学号替换 for i:=1 to 16 do begin progressbar1.Position:=j; /round(100/(adotable2.RecordCount*15) label7.Caption:=学号替
45、换正在进行当中.; th_query.SQL.Clear; th_query.SQL.add(select * from +tablenamei+ where xh=+localtable.Fieldbyname(oldxh).asstring+); th_query.Open;/选取要进行替换的数据表 while not th_query.Eof do begin if localtable.FieldValuesnewxhnull then begin th_query.Edit; th_query.FieldValuesxh:=localtable.fieldbyname(newxh).
46、asstring;/进行学号替换 th_query.Post; end; th_query.Next; end;学生日常考勤信息管理主要记载在校生日常缺勤信息,并提供分班分时间段的查询和统计,并进行班级出勤情况的比较编辑界面:统计界面:j:=1; bjquery.First;while not bjquery.Eof do begin for i:=1 to combobox1.ItemIndex+1 do begin rckqquery.Close; rckqquery.SQL.clear; rckqquery.sql.add(select xs_kqxx.qqjc,jbxx2.xm fro
47、m xs_kqxx join jbxx2 on jbxx2.xh=xs_kqxx.xh join bjxx on bjxx.bjid=jbxx2.bjid where jbxx2.bjid=+bjquery.FieldValuesbjid+ and xs_kqxx.xq=+edit1.Text+ and xs_kqxx.week=+edit2.Text+ and xs_kqxx.wday= CAST(+inttostr(i)+ AS char(2);/生成统计字符串 rckqquery.Open; while not rckqquery.Eof do begin stringgrid1.Cel
48、lsi,j:=trim(rckqquery.fieldbyname(xm).AsString)+ +trim(rckqquery.fieldbyname(qqjc).asstring)+,; rckqquery.Next;/将统计结果写入数据网格 end; end; bjquery.Next; j:=j+1; end;学生寝室清洁卫生信息管理完成学生寝室清洁卫生信息的管理功能,并提供近几周内清洁卫生的对比情况(主要分为得分为和得分为两种情况)编辑界面:统计界面(分数据表和图表两种统计形式)for i:=1 to strtoint(edit2.Text) do begin stringgrid1
49、.cells0,i:=inttostr(i); qjwsquery.Close; qjwsquery.SQL.Clear; qjwsquery.SQL.add(SELECT * FROM XS_QJWS INNER JOIN XS_QSZY ON XS_QJWS.ZH = XS_QSZY.QSZH AND XS_QJWS.QSH = XS_QSZY.FJH WHERE XS_QJWS.XQ = +edit1.Text+ AND XS_QJWS.Week = CAST(+inttostr(i)+ AS char(2)+ and xs_qszy.xkid=+zxsglfrm.CurrentXKID
50、+ and upper(xs_qjws.df)=+A+);/生成统计字符串(统计得分为A的寝室) qjwsquery.Open; stringgrid1.Cells1,i:=inttostr(qjwsquery.recordcount); chart1.Series0.Add(qjwsquery.recordcount,第+inttostr(i)+周,clred);/将统计结果写入图表 while not qjwsquery.Eof do begin stringgrid1.Cells2,i:=stringgrid1.Cells2,i+qjwsquery.fieldbyname(zh).AsString+-+qjwsquery.fieldbyname(qsh).AsString+,; /将统计结果写入数据网格 qjwsquery.Next; end; qjwsquery.C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东中山市沙溪隆都医院第一期招聘合同制人员6人备考题库带答案详解(新)
- 基础施工技术规范方案
- 2025-2030德国工业自动化改造规划与智能制造技术应用分析
- 2025-2030德国工业机器人市场供需分析及企业竞争力评估研究
- 2025-2030德国化工原料行业市场供需现状投资评估发展规划分析报告
- 2025-2030当前德国机械行业市场现状分析竞争分析投资评估发展分析研究报告
- 2025-2030布隆迪采矿业现状供需特征发展投资规划调研报告
- 2025-2030布基纳法索农业机械化行业市场供需分析及投资评估规划分析研究报告
- 2025-2030巡回演出剧团市场发展与影视IP产业投资机会分析研究报告
- 2025-2030宾馆酒店服务标准化程度低投资收益不平等投资结构重塑技术培训分析
- (2025年标准)预存消费协议书
- 危险化学品基础知识概述
- 主播合作协议解除协议书
- 旅游产业股权合作协议书
- 养老院入住合同协议书
- DB32/ 4440-2022城镇污水处理厂污染物排放标准
- 文第19课《井冈翠竹》教学设计+2024-2025学年统编版语文七年级下册
- 车库使用协议合同
- 耐磨钢的应用现状及行业发展分析
- 《不在网络中迷失》课件
- 2024新人教版七年级上册英语单词字帖(衡水体)
评论
0/150
提交评论