版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.1-概要设计说明书1.总体设计1.1需求规定教务管理系统可分为学生信息管理系统和教师管理信息系统,系统开发的整体任务是实现学校教师和学生信息管理的系统化、规范化、自动化和智能化,从而达到提高学校管理效率的目的。本阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。1.2运行环境软件基本运行环境为WindowsXP环境。1.3基本设计概念和处理流程概要说明书的目的在于明确系统的数据结构和软件结构,设计外部软件和内部软件的接口,说明各个软件模块的功能说明,数据结构的细节等。系统的总体处理流程如图1-1所示:学生选课选择操作打印成绩单班级信息维护报表统计教学管理成绩输入课表查询基础维护选择操作学生选课选择操作打印成绩单班级信息维护报表统计教学管理成绩输入课表查询基础维护选择操作教务管理系统教务管理系统选择操作选择操作教师信息维护课程信息维护学生信息维护教师信息维护课程信息维护学生信息维护图1-1系统的总体处理流程1.4系统体系结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。本系统的体系架构如图1-2所示:图1-2系统体系架构本系统体系结构大致可以定义为:客户机层上的表示层主要是通过Struts框架实现的,由显示视图产生一个请求。请求被ActionServlet(控制器)接收,它在struts-config.xml文件中寻找请求的URI,找到对应的Action类后,Action类执行相应的业务逻辑。Action类执行建立在模型组件基础上的业务逻辑,模型组件是和应用程序关联的。一旦Action类处理完业务逻辑,它把控制权返回给ActionServlet,Action类提供一个键值作为返回的一部分,它指明了处理的结果。ActionServlet使用这个键值来决定在什么视图中显示Action的类处理结果。当ActionServlet把Action类的处理结果传送到指定的视图中,请求的过程也就完成了。中间业务层是通过Spring框架实现的,首先建立一个BaseAction,它继承了Action类,而其他定义的Action都要继承这个BaseAction。这个BaseAction需要导入AppContext工具类,这个AppContext需要导入Spring中org.springframework.context.support.*;这样一个继承BaseAction的Action,就可以getXXXService()的方法得到某一个service的实例服务定位器的设计模式。持久(PO)层是由hibernate架构实现的,它包括关于整体数据库的hibernate.cfg.xml文件、每个表的JavaBean类和每个表的hbm.xml文件,通过Spring集成模板HibernateTemplate提供DAO来使用PO。在Spring的配置文件(applicationContext.xml)中配置sessionFactory的bean
来管理hibernate。管理员登陆业务调度管理员登陆业务调度班信维护课信维护学信维护?师信维护学生选课成绩输入???DAO组件XML解析数据连接持久实体课表查询
2.接口设计2.1用户接口用户接口语法结构软件回答信息教务系统管理员登录以英文和汉字开头,不超过6个字符进入主界面信息管理相关操作进行相应的操作3.运行设计3.1运行模块组合具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。3.2运行控制软件运行时有较友好的界面,基本能够实现用户的数据处理要求。3.3运行时间系统的运行时间基本可以达到要求。4.系统数据结构4.1逻辑设计教务管理系统E-R图选课表FK1PK编号学号课序号PK课程名称课程简称拼音码选课表FK1PK编号学号课序号PK课程名称课程简称拼音码本学期课程教师开课系别年份课程表PK编号4.2逻辑结构设计表1、表名称:bkb表类型:约束表含义:班级报考表字段名称字段类型Null含义示例数据id整形否,自增主键列1name字符值八班2、表名称:cjb表类型:约束表含义:班级成绩表(打印表)字段名称字段类型Null含义示例数据id整形否,自增主键列1cjb_id整形否外键列1name字符值八班3、表名称:jhcjb表类型:约束表含义:班级计划成绩表(显示和打印)字段名称字段类型Null含义示例数据id整形否,自增主键列1name字符值八班4、表名称:hks表类型:约束表含义:班计划学期考试课程表字段名称字段类型Null含义示例数据id整形否,自增主键列1fangguansuo_id整形否外键列1name字符值长三5、表名称:hxq表类型:约束表含义:班计划学期课程开设表字段名称字段类型Null含义示例数据id整形否,自增主键列1name字符值英语fenshu整形分数46、表名称:xjh表类型:约束表含义:班教学计划信息表参见bkb表7、表名称:xxb表类型:约束表含义:班注册和档案表参见bkb表8、表名称:kbpdfb表类型:约束表含义:报考编排登分表参见bkb表9、表名称:ctdmkb_tmp表类型:约束表含义:毕业课程替代免考表参见cjb表10、表名称:ctdmkb表类型:约束表含义:毕业课程替代免考表参见cjb表11、表名称:ysmdb表类型:约束表含义:毕业生名单参见cjb表12、表名称:ycymdb表类型:约束表含义:毕业预审审核差异名单表参见cjb表13、表名称:yyshsdfb表类型:约束表含义:毕业预审审核得分表参见ycymdb表表名称:yyshsdfb_tmp表类型:实体表含义:毕业预审审核得分表字段名称字段类型Null含义示例数据id整形否,自增主键列zhaidihao字符宅第号zhuanghao字符幢号diquleibie字符地区类别限定:一类/二类/三类chanbie字符产别限定:直管/自管/托管chanquanzhenghao字符产权证号jiuqu整形旧区约束表:qujiuxiaoqu整形旧小区约束表:xiaoqujiulouhao字符旧楼号xinqu整形新区约束表:quxinxiaoqu整形新小区约束表:xiaoquxinlouhao字符新楼号jiegou整形结构约束表:jiegouzongcengshu整形总层数15、表名称:gdw类型:约束表含义:采购单位16、表名称:gdwdhzz类型:约束表含义:采购单位到货总账17、表名称:gdwzz类型:约束表含义:采购总账18、表名称:gdhmxb类型:约束表含义:采购到货明细表19、表名称:gdhmxml类型:约束表含义:采购到货明细目录20、表名称:gmxb类型:约束表含义:采购明细表21、表名称:gzb类型:约束表含义:采购总表22、表名称:cjdmb类型:约束表含义:成绩代码表23、表名称:cjgdb类型:约束表含义:成绩更动表24、表名称:cjtjb类型:约束表含义:成绩统计表25、表名称:cjzb类型:约束表含义:成绩总表26、表名称:cjzb_copy类型:约束表含义:成绩总表27、表名称:dgdw类型:约束表含义:订购单位28、表名称:dgdwmxb类型:约束表含义:订购单位明细表29、表名称:dgmxb类型:约束表含义:订购明细表30、表名称:dgzb类型:约束表含义:订购总表31、表名称:fxzyb类型:约束表含义:辅修专业表32、表名称:jhkkkcb类型:约束表含义:计划开考课程表33、表名称:jhkkkcb类型:约束表含义:计划开考课程传递表34、表名称:jljb类型:约束表含义:奖励级别表35、表名称:jlqkjzb类型:约束表含义:奖励情况记载表36、表名称:jccgfdml类型:约束表含义:教材采购分单目录37、表名称:jccgjsb类型:约束表含义:教材采购计算表38、表名称:jccgmxb类型:约束表含义:教材采购明细表39、表名称:jccgshb类型:约束表含义:教材采购审核表40、表名称:jcch类型:约束表含义:教材册号41、表名称:jcdgzb类型:约束表含义:教材订购总表42、表名称:jclxbmdz类型:约束表含义:教材类型编码对照43、表名称:jcsmmb类型:约束表含义:教材说明模板44、表名称:jcthzt类型:约束表含义:教材替换状态45、表名称:dgdwzb类型:约束表含义:教材征订订购单位总表46、表名称:jczb类型:约束表含义:教材总表47、表名称:jxbm类型:约束表含义:教学部门表48、表名称:jxdg类型:约束表含义:教学大纲49、表名称:jxhjdy类型:约束表含义:教学环节定义50、表名称:kkdw类型:约束表含义:开课单位表51、表名称:kcqkb类型:约束表含义:考场情况表52、表名称:kdxxb类型:约束表含义:考点代码表53、表名称:kslb类型:约束表含义:考生类别代码表54、表名称:ksdmb类型:约束表含义:考试代码表55、表名称:ksdmcd类型:约束表含义:考试代码传递表56、表名称:ksdxb类型:约束表含义:考试对象表57、表名称:ksfsdm类型:约束表含义:考试方式代码表58、表名称:kslxdmb类型:约束表含义:考试类型代码表59、表名称:kccc类型:约束表含义:课程层次代码表60、表名称:kcgldw类型:约束表含义:课程管理单位61、表名称:kcjsfs类型:约束表含义:课程建设方式62、表名称:kcjsjb类型:约束表含义:课程建设级别表63、表名称:kcjslb类型:约束表含义:课程建设类别64、表名称:kcjcdzb类型:约束表含义:课程教材对照65、表名称:kclb类型:约束表含义:课程类别代码表66、表名称:kctdb类型:约束表含义:课程替代表67、表名称:kcxz类型:约束表含义:课程性质代码表68、表名称:kczb类型:约束表含义:课程总表69、表名称:ljhkcb类型:约束表含义:类计划课程表70、表名称:ljhxqks类型:约束表含义:类计划学期开设课程表71、表名称:ljhxqksb类型:约束表含义:类计划学期考试课程表72、表名称:ljxjhb类型:约束表含义:类教学计划表73、表名称:mzdmb类型:约束表含义:民族代码表74、表名称:ndszb类型:约束表含义:年度收支表75、表名称:njdmb类型:约束表含义:年级代码表76、表名称:njkcb类型:约束表含义:年级课程表77、表名称:njzyb类型:约束表含义:年级专业表78、表名称:xkkcb类型:约束表含义:新开课程表79、表名称:xszcb类型:约束表含义:新生注册表80、表名称:xflydmb类型:约束表含义:学费来源代码表81、表名称:xjbddmb类型:约束表含义:学籍变动代码表82、表名称:xjbdjzb类型:约束表含义:学籍变动记载表83、表名称:xjztdmb类型:约束表含义:学籍状态代码表84、表名称:fzjbytj类型:约束表含义:学生非在籍和毕业生统计表85、表名称:xsjbqkb类型:约束表含义:学生基本情况表86、表名称:xsjhcjb类型:约束表含义:学生计划成绩表87、表名称:xslbdmb类型:约束表含义:学生类别代码表88、表名称:xslxdmb类型:约束表含义:学生类型代码表89、表名称:xslxdyb类型:约束表含义:学生类型代码对应表90、表名称:bjxx表类型:约束表含义:班级信息表字段名称字段类型Null含义示例数据Bjbh整形否,自增主键列1Nj字符值英语Bjmc字符名称信管八班Bjjc字符简称8班Rs整形人数80Bzr字符班主任王91、表名称:jgdmb表类型:约束表含义:籍贯代码表字段名称字段类型Null含义示例数据Jgbh整形否,自增主键列1Jg字符值郑州92、表名称:mzdmb表类型:约束表含义:民族代码表字段名称字段类型Null含义示例数据Mzbh整形否,自增主键列1Mz字符值汉93、表名称:zzmmdmb表类型:约束表含义:政治面貌代码表字段名称字段类型Null含义示例数据Zzmmbh整形否,自增主键列1Zzmm字符值94、表名称:xjdm表类型:约束表含义:学籍代码表字段名称字段类型Null含义示例数据Xjbh整形否,自增主键列1Xjmc字符值2009765096、表名称:cjb表类型:约束表含义:成绩表字段名称字段类型Null含义示例数据Bh整形否,自增主键列1Xh字符值20097650111Kcbh整形课程编号4Cj整形值99Kscs整形值2Sfbx字符是否补修是Sfck字符是否重考是Sfqcj字符确定成绩是97、表名称:xsxx表类型:约束表含义:学生信息表字段名称字段类型Null含义示例数据Xh整形否,自增主键列20097650111Xm字符值张三Bjbh整形班级编号4Xb字符性别男Nj字符年级2009Zzmmbh整形政治面貌编号2Mzbh整形民族编号2Jgbh整形籍贯编号3Sfzh整形身份证jbh整形学籍编号200998、表名称:kcxx表类型:约束表含义:课程信息表字段名称字段类型Null含义示例数据Kcbh整形否,自增主键列1Kcmc字符值英语Kcjc字符值英语Pym字符值YingyuBxqkc字符值Js字符教师吴Kkxb整形开课系别1Xf整形学分399、表名称:kcb表类型:约束表含义:课程表字段名称字段类型Null含义示例数据Bh整形否,自增主键列1Kxh字符课序号2Kcbh整形课程编号4Sksjt整形上课时间天Sksjj整形上课时间节Skdd字符上课地点100、表名称:xkb表类型:约束表含义:选课表字段名称字段类型Null含义示例数据Bh整形否,自增主键列1Xh整形学号20097650111Kxh整形课序号44.2物理结构设计系统的物理结构具体由数据库来设计与生成,故此处略。
5.系统出错处理设计5.1出错信息错误登录信息系统提示错误登录信息系统返回登录界面输入错误的数据系统提示数据错误信息提示重新输入数据打印不成功系统提示打印不成功信息进行重新打印操作5.2补救措施由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定
第5章详细设计说明书1.引言1.1项目定义教务综合管理信息系统是为了适应现代化学校管理的需要,加快推进我校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应用技术和手段,提高办公效率、改善质量的高效管理信息系统。1.2编写目的本文档为“教务管理系统-详细设计说明书”,主要用于为实现系统的功能而进行的系统详细设计说明,详细系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。1.3.参考资料《教务管理系统_系统软件需求说明书》。《教务管理系统_系统概要设计说明书》。《教务管理系统_数据库设计说明书(数据库字典)》等。
2.程序系统的结构2.1整个教务管理系统的结构可由以下图示来表明:学生选课选择操作打印成绩单班级信息维护报表统计教学管理成绩输入课表查询基础维护选择操作学生选课选择操作打印成绩单班级信息维护报表统计教学管理成绩输入课表查询基础维护选择操作教务管理系统教务管理系统选择操作选择操作教师信息维护课程信息维护学生信息维护教师信息维护课程信息维护学生信息维护图1-1系统的总体处理流程3.系统功能实现从前面需求分析可以看出,系统功能庞杂,主要分为前台浏览器(B/S)信息发布和数据查询,后台(C/S)数据管理和处理,教务管理功能部分数据分为四类:学生基本信息相关;教师基本信息相关;课程信息相关;学生成绩综合查询相关。从使用和操作的功能上分,有三种用户:该校学生;业务数据管理人员(学生工作辅导员、教务干事);系统管理员。为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块(singleExecutable),各功能模块最后被集成到一个称为虚拟桌面的控制台模块中。相应地将系统结构分为一个控制台程序和七个子系统,各子系统又分为若干各子模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料等这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。3.1系统控制台模块功能:各子功能模块的组织和调用;统一的登陆界面实现到数据库服务器的登陆;显示教务主页系统图标。设计:1.登陆数据库:输入数据库服务器名(ServerIP)、用户账号()UserID、密码(PassWord);登陆数据库服务器,检索系统权限表,根据权限设置相应功能模块:①无此用户或禁止权限Enable=False;②浏览权限Enable=True;修改UserID=;修改PassWord:=;③修改权限Enable=True;修改UserID=;修改PassWord:=;2.采用WinXP下程序组、程序项的原理组织各执行模块:登陆服务器基础维护教学管理报表统计退出各程序组、程序项的显示分别可以是分层/树状/大图标/小图标等方式;各程序项或菜单项的名称命名为相应功能模块的目标代码文件名。3.2.各具体模块如下:模块1名称:班级信息维护输入:班级信息维护处理:维护管理该校各班级基本信息输出:各班级信息数据表:班级信息表模块2名称:学生基本信息维护输入:学生基本信息处理:维护管理学生基本信息输出:学生基本信息数据表:学生信息表模块3名称:课程信息维护输入:课程信息维护处理:维护管理课程基本信息输出:课程信息数据表:课程信息表模块4名称:学生选课信息输入:学生选课信息处理:维护管理学生选课信息输出:学生选课信息数据表:学生基本信息表课程信息表模块5名称:课表查询输入:课表查询处理:维护管理课表查询信息输出:所查班级课表数据表:学生基本信息表班级信息表模块6名称:成绩输入输入:成绩输入处理:维护管理成绩输入信息输出:成绩数据表:学生基本信息表课程信息表模块7名称:教师信息为维护输入:教师信息为维护处理:维护管理教师信息输出:教师信息数据表:教师信息表4.具体设计:设计功能实现包括:班级信息维护,学生信息维护,课程信息维护,学生选课,课表查询,成绩输入,报表统计,退出系统PublicClassfrmMainInheritsSystem.Windows.Forms.FormPrivateFunctionGetInstanceState(ByValnameAsString)AsBoolean'获得frmMain窗体的子窗体的数量DimiAsInteger=Me.MdiChildren.Length'循环判断是否有名为name的子窗体实例Fori=0ToMe.MdiChildren.Length-1IfMe.MdiChildren(i).Name=nameThen'存在名为name的子窗体,是子窗体获得焦点并返回TrueMe.MdiChildren(i).Focus()ReturnTrueEndIfNext'不存在名为Name的子窗体FalseReturnFalseEndFunctionPrivateSubmnClass_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnClass.ClickIfGetInstanceState("frmClass")ThenExitSubEndIfDimchildFrmAsfrmClass=NewfrmClasschildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnStudent_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnStudent.ClickIfGetInstanceState("frmStudent")ThenExitSubEndIfDimchildFrmAsfrmStudent=NewfrmStudentchildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnSubject_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnSubject.ClickIfGetInstanceState("frmSubject")ThenExitSubEndIfDimchildFrmAsfrmSubject=NewfrmSubjectchildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnSelect_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnSelect.ClickIfGetInstanceState("frmSelect")ThenExitSubEndIfDimchildFrmAsfrmSelect=NewfrmSelectchildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnCourse_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnCourse.ClickIfGetInstanceState("frmCourse")ThenExitSubEndIfDimchildFrmAsfrmCourse=NewfrmCoursechildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnResult_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnResult.ClickIfGetInstanceState("frmScore")ThenExitSubEndIfDimchildFrmAsfrmScore=NewfrmScorechildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnReport_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnReport.ClickIfGetInstanceState("frmReport")ThenExitSubEndIfDimchildFrmAsfrmReport=NewfrmReportchildFrm.MdiParent=MechildFrm.Show()EndSubPrivateSubmnExit_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesmnExit.ClickEndSubEndClass5.基础维护:5.1班级信息维护实现的功能包括:查看首记录:表中首个班级记录,上记录,下记录,查尾记录,新增,修改,删除等可实现模糊搜索功能即:输入班级编号可查询相关班级信息如下所示:PublicClassfrmBaseInheritsSystem.Windows.Forms.FormProtectedbmDataAsBindingManagerBaseProtecteddtDataAsDataTable'bAdd=true为新增'bAdd=false为修改ProtectedbAddAsBooleanPrivateSubfrmBase_Load(ByValsenderAsObject,_ByValeAsSystem.EventArgs)HandlesMyBase.LoadPrepare()SetDataGrid()SetTextBoxState(True)EndSubPrivateSubToolBar1_ButtonClick(ByValsenderAsObject,_ByValeAsToolBarButtonClickEventArgs)_HandlesToolBar1.ButtonClickSelectCasee.Button.TextCase"首记录"'返回首记录bmData.Position=0Case"上记录"IfbmData.Position<>0ThenbmData.Position-=1EndIfCase"下记录"IfbmData.Position<>bmData.CountThenbmData.Position+=1EndIfCase"尾记录"'返回尾记录bmData.Position=bmData.CountCase"新增"Me.dgdList.Enabled=FalseSetTextBoxState(False)SetToolBarState(False)bAdd=TrueClear()Case"修改"Me.dgdList.Enabled=FalseSetTextBoxState(False)SetToolBarState(False)bAdd=FalseCase"删除"'弹出询问对话框DimdlgResultAsDialogResult=_MessageBox.Show("你确认删除此数据?",_"删除",MessageBoxButtons.OKCancel)IfdlgResult=DialogResult.OKThenDeleteData()EndIfCase"保存"SetToolBarState(True)SetTextBoxState(True)IfbAdd=TrueThen'为新增数据保存SaveForAdd()Else'为更新数据保存SaveForUpdate()EndIfMe.dgdList.Enabled=TrueCase"取消"SetTextBoxState(True)SetToolBarState(True)Me.dgdList.Enabled=TrueSearchResult()Case"退出"'关闭本窗体Me.Close()EndSelectTryMe.dgdList.CurrentRowIndex=bmData.PositionSetData()CatchexAsExceptionEndTryEndSubPrivateSubbtnSearch_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesbtnSearch.ClickSearchResult()EndSubPrivateSubdgdList_CurrentCellChanged(ByValsenderAsObject,_ByValeAsSystem.EventArgs)HandlesdgdList.CurrentCellChangedTry'判断bmData是否为NothingIfbmDataIsNothingThenExitSubEndIfIfbmData.Position<>dgdList.CurrentCell.RowNumberThenbmData.Position=dgdList.CurrentCell.RowNumberSetData()EndIfCatchexAsExceptionMessageBox.Show(ex.ToString)EndTryEndSubPrivateSubSetToolBarState(ByValbStateAsBoolean)'设置Button的是否能够单击ToolBar1.Buttons(0).Enabled=bStateToolBar1.Buttons(1).Enabled=bStateToolBar1.Buttons(2).Enabled=bStateToolBar1.Buttons(3).Enabled=bStateToolBar1.Buttons(4).Enabled=bStateToolBar1.Buttons(5).Enabled=bStateToolBar1.Buttons(6).Enabled=bStateToolBar1.Buttons(7).Enabled=NotbStateToolBar1.Buttons(8).Enabled=NotbStateEndSubPublicOverridableSubPrepare()EndSub'设置DataGrid控件PublicOverridableSubSetDataGrid()EndSub'查询函数PublicOverridableSubSearchResult()SetDataGrid()'dgdList.DataSource=dtData.DefaultViewEndSub'新增函数PublicOverridableSubLoadData()EndSubPublicOverridableSubSaveForAdd()EndSub'更新函数PublicOverridableSubSaveForUpdate()EndSub'删除函数PublicOverridableSubDeleteData()EndSub'清除函数PublicOverridableSubClear()EndSub'设置TextBox函数PublicOverridableSubSetTextBoxState(ByValbStateAsBoolean)EndSubPublicOverridableSubSetData()EndSubEndClass5.2学生信息维护实现的功能包括:查看首记录,上记录,下记录,查尾记录,新增,修改,删除等可实现模糊搜索功能如下所示:PublicClassfrmStudentInherits教务管理系统.frmBasePublicOverridesSubPrepare()Me.Text="学生信息维护"Me.Label1.Text="学号"Me.Label2.Text="姓名"Me.Label3.Text="年级"'设置ComboBox控件数据源DimdbAsDataBase=NewDataBaseDimdvAsDataView=db.RunSelectSQL_("select班级编号,班级名称from班级信息orderby班级名称")Me.cbbClassId.DataSource=dvMe.cbbClassId.DisplayMember="班级名称"Me.cbbClassId.ValueMember="班级编号"dv=db.RunSelectSQL_("select政治面貌编号,政治面貌from政治面貌代码表")Me.cbbPolity.DataSource=dvMe.cbbPolity.DisplayMember="政治面貌"Me.cbbPolity.ValueMember="政治面貌编号"dv=db.RunSelectSQL("select民族编号,民族from民族代码表")Me.cbbNation.DataSource=dvMe.cbbNation.DisplayMember="民族"Me.cbbNation.ValueMember="民族编号"dv=db.RunSelectSQL("select籍贯编号,籍贯from籍贯代码表")Me.cbbBirthPlace.DataSource=dvMe.cbbBirthPlace.DisplayMember="籍贯"Me.cbbBirthPlace.ValueMember="籍贯编号"dv=db.RunSelectSQL("select学籍编号,学籍名称from学籍代码表")Me.cbbStatus.DataSource=dvMe.cbbStatus.DisplayMember="学籍名称"Me.cbbStatus.ValueMember="学籍编号"db.Dispose()EndSubPublicOverridesSubLoadData()DimstrFilterAsStringIftxbOne.Text.Trim.Length=0ThenIftxbTwo.Text.Trim.Length=0ThenIftxbThree.Text.Trim.Length=0ThenstrFilter=""ElsestrFilter="where年级like'"strFilter+=txbThree.Text.Trim+"%'"EndIfElsestrFilter="where姓名like'"strFilter+=txbTwo.Text.Trim+"%'"IftxbThree.Text.Trim.Length<>0ThenstrFilter+="and年级like'"strFilter+=txbThree.Text.Trim+"%'"EndIfEndIfElsestrFilter="where学号like'"strFilter+=txbOne.Text.Trim+"%'"IftxbTwo.Text.Trim.Length<>0ThenstrFilter+="and姓名like'"strFilter+=txbTwo.Text.Trim+"%'"IftxbThree.Text.Trim.Length<>0ThenstrFilter+="and年级like'"strFilter+=txbThree.Text.Trim+"%'"EndIfElseIftxbThree.Text.Trim.Length<>0ThenstrFilter+="and年级like'"strFilter+=txbThree.Text.Trim+"%'"EndIfEndIfEndIf'清空DataSet11DataSet11.Clear()SqlConnection1.ConnectionString=DataBase.sConnDimstrSQLAsStringSqlDataAdapter1.SelectCommand.CommandText_="select*from学生信息"+strFilter'根据查询条件重新填充DataSet11SqlDataAdapter1.Fill(DataSet11)dtData=DataSet11.Tables("学生信息")IfdtData.Columns.Count<15ThendtData.Columns.Add("班级")dtData.Columns.Add("政治面貌")dtData.Columns.Add("民族")dtData.Columns.Add("籍贯")dtData.Columns.Add("学籍")EndIfbmData=Me.BindingContext(DataSet11,"学生信息")IfbmData.Count<>0ThenbmData.Position=0EndIfEndSubPublicOverridesSubSetDataGrid()LoadData()'定义一个DataGrid表样式DimtsAsNewDataGridTableStyleDimaColumnTextColumnAsDataGridTextBoxColumnDimnumColsAsInteger=dtData.Columns.CountDimiAsIntegerFori=0TonumCols-1'Ifi=6Then'i=10'EndIfaColumnTextColumn=NewDataGridTextBoxColumnaColumnTextColumn.MappingName=_dtData.Columns(i).ColumnNameaColumnTextColumn.HeaderText=_dtData.Columns(i).ColumnNameaColumnTextColumn.NullText=""aColumnTextColumn.ReadOnly=True'aColumnTextColumn.Width=55ts.GridColumnStyles.Add(aColumnTextColumn)Nextts.AlternatingBackColor=Color.LightGrayts.AllowSorting=Falsets.MappingName=dtData.TableNamedgdList.TableStyles.Clear()dgdList.TableStyles.Add(ts)DimdvAsDataView=dtData.DefaultViewdv.AllowNew=Falsedv.AllowDelete=False'dv.AllowEdit=False'设置数据源dgdList.DataSource=dtData.DefaultViewbmData=Me.BindingContext(DataSet11,"学生信息")lblCount.Text="记录数:"+dtData.Rows.Count.ToString()SetDetailData()EndSubPrivateSubSetDetailData()DimdtClassId,dtPolity,dtNation,_dtBirthPlace,dtStatusAsDataTableDimdbAsDataBase=NewDataBasedtClassId=db.RunSelectSQL_("select班级编号,班级名称from班级信息orderby班级名称").TabledtPolity=db.RunSelectSQL_("select政治面貌编号,政治面貌from政治面貌代码表").TabledtNation=db.RunSelectSQL_("select民族编号,民族from民族代码表").TabledtBirthPlace=db.RunSelectSQL_("select籍贯编号,籍贯from籍贯代码表").TabledtStatus=db.RunSelectSQL_("select学籍编号,学籍名称from学籍代码表").TableDimdvAsDataViewForiAsInteger=0TodtData.Rows.Count-1dv=dtClassId.DefaultViewdv.RowFilter="班级编号='"+dtData.Rows(i)("班级编号")+"'"dtData.Rows(i)("班级")=dv(0)(1)dv=dtPolity.DefaultViewdv.RowFilter="政治面貌编号='"+dtData.Rows(i)("政治面貌编号")+"'"dtData.Rows(i)("政治面貌")=dv(0)(1)dv=dtNation.DefaultViewdv.RowFilter="民族编号='"+dtData.Rows(i)("民族编号")+"'"dtData.Rows(i)("民族")=dv(0)(1)dv=dtBirthPlace.DefaultViewdv.RowFilter="籍贯编号='"+dtData.Rows(i)("籍贯编号")+"'"dtData.Rows(i)("籍贯")=dv(0)(1)dv=dtStatus.DefaultViewdv.RowFilter="学籍编号='"+dtData.Rows(i)("学籍编号")+"'"dtData.Rows(i)("学籍")=dv(0)(1)NextEndSubPublicOverridesSubSetTextBoxState(ByValbStateAsBoolean)Me.GroupBox1.Enabled=NotbStateEndSubPublicOverridesSubClear()Me.txbClassId.Text=""Me.txbGrade.Text=""Me.txbName.Text=""Me.txbPID.Text=""Me.cbbBirthPlace.Text=""Me.cbbClassId.Text=""Me.cbbNation.Text=""Me.cbbPolity.Text=""Me.cbbSex.Text=""Me.cbbStatus.Text=""EndSubPublicOverridesSubSaveForAdd()DimdrAsDataRow=DataSet11.Tables("学生信息").NewRow()Trydr("学号")=Me.txbClassId.Text.Trimdr("姓名")=Me.txbName.Text.Trimdr("年级")=Me.txbGrade.Text.Trimdr("性别")=Me.cbbSex.Text.Trimdr("年级")=Me.txbGrade.Text.Trimdr("身份证号")=Me.txbPID.Text.Trimdr("政治面貌编号")=Me.cbbPolity.SelectedValuedr("民族编号")=Me.cbbNation.SelectedValuedr("籍贯编号")=Me.cbbBirthPlace.SelectedValuedr("班级编号")=Me.cbbClassId.SelectedValuedr("学籍编号")=Me.cbbStatus.SelectedValueCatchexAsExceptionMessageBox.Show("数据格式不正确!")ReturnEndTryTryDataSet11.Tables("学生信息").Rows.Add(dr)IfMe.DataSet11.HasChanges=TrueThenSqlDataAdapter1.Update(DataSet11)EndIfCatchexAsExceptionMessageBox.Show(ex.ToString)'("数据添加失败!")EndTryLoadData()dgdList.DataSource=dtData.DefaultViewEndSubPublicOverridesSubDeleteData()Try'删除当前行的数据DataSet11.Tables("学生信息")._Rows(bmData.Position).Delete()IfMe.DataSet11.HasChanges=TrueThen'更新DataSet11SqlDataAdapter1.Update(DataSet11)EndIfCatchexAsExceptionMessageBox.Show("数据删除失败!")EndTryEndSubPublicOverridesSubSaveForUpdate()TryDimrowAsIntegerrow=dgdList.CurrentCell.RowNumberdgdList.CurrentCell=_NewDataGridCell((row+1)ModbmData.Count,0)'判断是否有更新的数据IfMe.DataSet11.HasChanges=TrueThenSqlDataAdapter1.Update(DataSet11)EndIfCatchexAsExceptionMessageBox.Show("数据修改失败!")EndTryEndSubPrivateSubfrmStudent_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadEndSubEndClass5.3课程信息维护实现的功能包括:查看首记录:表中首个班级记录,上记录,下记录,查尾记录,新增,修改,删除等可实现模糊搜索功能如下所示:PublicClassfrmSelectInheritsSystem.Windows.Forms.FormPrivatedtDataAsDataTablePrivatedtSubjectAsDataTablePrivateSubbtnSearch_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesbtnSearch.ClickSetDGDSubject()EndSubPrivateSubbtnSelect_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesbtnSelect.ClickIfdgdList.CurrentCell.RowNumber=-1Or_dgdSubject.CurrentCell.RowNumber=-1ThenExitSubEndIfDimdbAsDataBase=NewDataBaseDimdvAsDataViewDimstrSQLAsString=""DimstrTmpAsString=dtSubject._Rows(dgdSubject.CurrentCell.RowNumber)(1).ToString.Trim()strSQL="select*from选课表where学号='"+txbId.Text.TrimstrSQL+="'and课序号in(select课序号from课程表where课程编号='"strSQL+=strTmp+"')"dv=db.RunSelectSQL(strSQL)Ifdv.Count<>0ThenMessageBox.Show("该课程已经选择!")db.Dispose()ExitSubEndIfDimstrCIdAsString=dtSubject._Rows(dgdSubject.CurrentCell.RowNumber)(0).ToString.Trim()strSQL="select*from选课表asa,课程表asb"strSQL+="wherea.课序号=b.课序号anda.学号='"strSQL+=txbId.Text.Trim+"'and100*b.上课时间天+"strSQL+="b.上课时间节in(select100*上课时间天+上课时间节"strSQL+="from课程表where课序号='"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胃溃疡合并出血护理指南
- 中小学教辅材料管理专项整治工作方案
- 2025汽车维护考试题及答案
- (完整版)外墙岩棉板保温施工方案
- 2025版妊娠糖尿病常见症状及护理指南探讨
- 2025版强直性脊柱炎常见症状及护理指南培训
- 2025版偏头痛常见症状及护理调理建议
- 餐饮激励奋战一线员工
- 经管类跨专业综合实训总结
- UI设计小图标设计规范与应用
- 埋地钢质管道直流干扰防护技术标准
- SL631水利水电工程单元工程施工质量验收标准第2部分:混凝土工程
- DB32-T 5082-2025 建筑工程消防施工质量验收标准
- 《半导体物理学》【ch08】半导体表面与MIS-结构-教学课件
- 教辅资料征订方案
- 儿童摄影员工管理规章制度
- 课件:《马克思主义基本原理概论》(23版):导论
- 系统用户权限分配表
- 链家 合同范本
- 地沟油制生物柴油可行性分析报告
- 户外场地安全协议书6篇
评论
0/150
提交评论