《asp.net机房管理系统教师管理模块的设计与实现 .doc》由会员分享,可在线阅读,更多相关《asp.net机房管理系统教师管理模块的设计与实现 .doc(30页珍藏版)》请在三一办公上搜索。
1、河南大学2007届本科毕业论文机房管理系统教师管理模块的设计与实现 Design and Realization of a Teacher Module of Computer Lab Management System论文作者姓名:肖 超 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术(非) 导师姓名职称:于静洋(讲师) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023217姓名肖超导师姓名职称于静洋(讲师)开题时间2006年12月1日课题题目机房管理系统教师管理模块的设计与实现课题来源导
2、师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的随着学校对计算机教育重视程度的逐步提高,机房的管理问题日益严重,本课题的研究就是为解决这一问题。2、意义真正实现机房开放式管理,最大限度的减轻管理员的压力,为学生自由上机提供方便。3、现状当今世界,信息技术突飞猛进,信息产业追风蹑景,正在使人类社会快步进入信息时代。如何充分发挥学校各类计算机机房的效能、开放机房,这是目前摆在高等院校有关部门面前的一个迫切课题。研究目标、研究内容和准备解决的问题:1、目标主要为计算机科学与技术学院设计,主要实现计算机实验的上机管理。2、内容包括教师对学生的上机管理,教师的基本信息资料
3、与学生的基本信息资料操作等。3、准备解决的问题实现目标是教师,机房管理员可以登录本系统来查询机房、学生、实验等信息,机房管理员可以查看机房中的电脑运行情况。学生只能登录客户端来访问服务器,获得服务器的文件,等待机房管理通知等。拟采取的方法、技术或设计(开发)工具:硬件环境:128M以上内存。软件环境:Windows XP与Windows 2000Microsoft SQL Server 2000.Net Framework2.0版语言包采用C#语言开发预期成果:1、毕业设计成果机房管理系统2、毕业论文进度计划:2006.12.1 - 2007.1.1:查找资料、搜集相关素材2007.1.2 -
4、 2007.3.11:完成系统的需求分析,概要设计和数据库设计2007.3.12 - 2007.4.20:实现基本算法和教师管理模块的功能2007.4.21 - 2007.4.30:与项目合作者进行模块组合2007.5.1 - 2007.5.20:整理资料、撰写毕业论文2007.5.20 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见: 该生选题符合要求,进度计划安排较合理,同意该生开题。 指导教师签名: 2006年12月1日河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023217姓名肖超导师姓名于静洋任务书起止日期2006年1
5、2月8日 至 2007年5月20日论文提要:论文应简要介绍机房管理系统中用到的理论知识,然后就详细过程的开发作具体说明。全文准备分为五部分:绪论介绍开发背景;需求分析对系统功能有个概括;数据库的设计要牵涉到一些表的设计;概要设计就系统功能模块的实现作简要说明;最后写详细设计关于代码的具体实现。课题任务要求:1、实现对教师、学生、机房电脑的大量数据存储;2、教师、机房管理员可以登录查询机房、学生等信息,机房管理员还可以查看机房中的电脑运行情况;主要参考文献:1 Watts S. Humphrey等著,软件工程,人民邮电出版社,2001年4月 2 谢希仁,计算机网络,第4版,电子工业出版社,200
6、3年6月3 刘滨,C#高级编程,第3版,国防工业出版社,2004年3月4 Patrick ONeil Elizabeth ONeil, 数据库原理、编程与性能,第2版,机械工业出版社,2002年1月5 Jay Hilyard等著,C#经典实例,第2版,中国电力出版社,2007年6月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称机房管理系统教师管理模块的设计与实现学号03023217所学专业计算机科学与技术指导教师姓 名于静洋姓名肖超一、毕业设计进展情况目前已完成系统需求分析、概要设计和数据库设计,刚开始进行教师管理模块的实现。二、存在问题(1)调试过程
7、没做记录,也没加上注释;(2)程序可移植性和程序代码部分需要简化;(3)数据库概念混乱,没有做好数据的约束。三、下一阶段的研究方法或设计思路接下来准备要具体实现教师管理模块的功能了。预备从以下3个方面实现:(1)教师登录:教师通过输入帐号与密码,等待系统的验证,验证通过后,教师进入操作平台进行业务管理。(2)教师注册:教师把自己的基本资料输入到系统中,系统经过验证后把教师的基本资料存入到数据库中。(3)系统的退出四、指导教师对学生设计(论文、创作)进展等方面的评语 该生基本能按预定计划进行,目前已完成数据库设计,但动手能力需进一步提高。 指导教师签字: 2007年 4月10日 此表除第四项外由
8、学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023217姓名肖超专业计算机科学与技术指导教师于静洋(讲师)综合得分76论文题目机房管理系统教师管理模块的设计与实现指导教师评语及得分指导教师评语该生学习努力,态度认真,论题联系实际,但功能仍需进一步加强;论文书写规范,语句通顺,结构清晰,符合要求。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分107864576指导教师签名 2007
9、年 5月 20日评阅教师评语及评分评阅教师评语 该生能与实际相结合,但功能可进一步完善,论文语句较通顺,条理清晰,符合本科毕业论文要求。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分108874578评阅教师签名 2007年5月22日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023217姓名肖超所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语 该生论文答辩过程中,语言流畅,对问题的阐述清晰明了,能比较准确地
10、回答问题,达到本科毕业水平。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1020163076答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 76 分综合评定等级: 良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师
11、、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;
12、2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目机房管理系统教师管理模块的设计与实现姓 名肖超所学专业计算机科学与技术(非)学 号03023217完成时间2007年5 月20日指导教师姓名职称于静洋(讲师)承诺内容:1、本毕业论文(设计、创作)是学生 肖超 在导师 于静洋 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接
13、受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年5月20日 2007年 5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1 开发背景及意义11.2 开发工具简介1第2章 系统需求分析32.1 系统的初步调查与可行性分析32.2 系统详细调查42.2.1 权限设定42.2.2 信息操作52.3 数据的收集5第3章 数据库的设计63.1 数据表的定义63.2 存储过程83.2.1 教师信息83
14、.2.2 教师上机安排8第4章 系统的概要设计94.1 系统总体设计94.2 教师管理模块104.2.1 教师信息模块104.2.2 教师信息添加和修改11第5章 系统的具体实现135.1 系统辅助类135.2 教师管理模块的实现155.2.1 教师信息操作155.2.2 教师管理16结 论18参考文献19摘 要作为计算机专业教育的基地、教学实践的场所计算机机房,在建设和管理上面临着挑战。机房规模的扩大、软硬件的不断更新、机房角色的多元化以及学生层次的良莠不齐,给管理带来了难度,开发一个机房管理系统进行自动化管理势在必行。本文以计算机学院的机房管理为背景,实现了机房管理系统中的教师管理模块,其
15、主要功能是为教师提供本院的学生信息,进行实验安排,为机房管理员提供机器信息。该系统是在Visual Studio 2005开发平台上开发的,是基于.NET Framework语言库的C#语言编写的。使用Microsoft SQL Server数据库作为存储数据。关键词 机房管理,教师管理,SQL Server数据库,自定义协议 ABSTRACTComputer lab, which is a computer professional education and teaching practice base, faces many challenges in the building and
16、management. For example, the expansion of room size, software and hardware continuously updating, labs role multiplication and students in mixed-level. So, the development of Computer Management System is essential to automated management. In this paper, Teachers Module of Computer Lab Management Sy
17、stem is implemented on the background of lab management of the computer college. The system has the functions of lab management and experiment arrangement, and it could offer the students information of the college; meanwhile it could also offer the information of the computer.The development is bas
18、ed on Visual Studio 2005 platform. The language is C # language of the NET Framework. Microsoft SQL Server is used as data storage.Keywords Computer Management, teacher management, SQL Server Database, definition of agreement第1章 绪论时代的进步,科技的发展,使得大学教学平台已经开始了技术上的改革,机房管理系统的方便性,管理的快捷性已经得到了大学教师的认可与称赞。网络的发
19、展与大众化,给机房管理系统的运行提供了便利的运行环境。机房管理系统与新版本跨平台的数据库相互配合,展现出了新时代教学方式的独特优势。1.1 开发背景及意义二十一世纪是信息技术时代,经过九十年代末的迅速发展,大学的网络建设已趋于完善。大学的教育方式在技术上得到根本改变,多媒体已经进入每一个课堂,教师与学生的远程通信,逐渐的在我们身边出现。远程课堂已经在部分大学取得良好效果。不管是在专业性大学还是在综合性大学中,面对着计算机大量进入学生实验室的局面,尤其是在计算机科学技术学院,我们迫切需要机房管理系统,来对机房,教师,学生,实验进行统一协调管理。通过使用机房管理系统,教师可以高效快捷的对学生信息,
20、学生上机实验进行跟踪管理,省去大量时间和精力。此外,机房管理员通过系统可以轻松地查询机房中的计算机使用情况,分析统计计算机的使用寿命,运行情况是否良好。社会上已经出现了不同功能的机房管理系统,它们已经发挥了可喜的成效。而如今,机房管理的安全性,系统的内部数据结构,算法,核心技术已经提入讨论课题之中,我们通过努力,不断地探索,来完善内部技术架构,使得层次分明,类模块分工明确,从而加强整个系统的兼容性,安全性和可维护性。1.2 开发工具简介本系统采用C#开发语言。C#是Microsoft强力推出的新一代开发语言,它集合了java,VC的优势,成为我们现在开发Web和GUI信息管理系统的首选语言。C
21、#采用了java完全面向对象机制,方便开发者对现实世界进行抽象建模。C#与Visio的结合更是珠联璧合,很多系统代码可以自动生成,省去大量人力,时间。数字验证机制定义了统一的简单的协议,开发者只需要调用数字验证类,采用本协议作为参数传入到类中,就可以轻松进行各种数据验证,其中包括邮箱格式,电话格式和日期等。C#的开发软件主要是Visual Studio.NET,Visual Studio.NET2005独特于其它开发平台的是它提供SQL Server2005数据库服务器,采用数据库文件格式,在VS.NET中打开数据库连接,直接可以运行数据库文件。VS.NET的UI开发器的逼真效果更强,提供一些
22、工具和向导使得开发UI界面更加美观。VS提供的Patial方式,可以使得同一个类不同功能的代码分到不同的文件中进行编辑。我们可以使代码模块清晰易懂,方便开发。VS.NET提供语言树型向导机制,我们可以输入类或者类成员的前几个字母,在下拉框中选择出想要的类或者类成员。使用SQL Server2000数据库管理系统。本系统默认两个管理员Administrator和sa,对系统数据库和用户数据库进行管理。提供分析查询器功能,可以在里面书写Sql语法,创建存储过程,视图,表等。第2章 系统需求分析系统主要是为计算机科学与技术学院设计的,主要功能是对计算机实验的上机进行管理,包括教师对学生的上机管理,教
23、师的基本信息资料与学生的基本信息资料的操作等,满足教师,机房管理员的工作需求。学生只能登录客户端来访问服务器,获得服务器的文件,等待机房管理通知等。系统与SQL Server相结合,实现对教师,学生,机房电脑的大量数据存储。2.1 系统的初步调查与可行性分析系统的初步调查是系统分析的第一项活动,初步调查阶段的主要目标是从分析人员和管理人员的角度来研究新项目开发有无必要和可能。而可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。(1)初步调查随着信息化社会的到来,计算机及其网络技术已日益成为现代教学活动中必不可少的学习内容和使用工具,越来越多的单位购置了大量的计算机设备并实
24、现了连网,为教师和学生的学习创造了良好的学习环境,极大地改善了学习条件。目前我院计算中心机房管理采用人工管理,机房的排课相当繁琐,需要准确了解学生的人数,机房的容纳数,对每门课程的课时数有所了解,同时还要注意学生、教师的冲突情况,防止出现安排一个学生(教师)在同一时间,不同机房有课,防止出现学生人数大于机房容纳人数。管理老师为此常常需要查阅大量的表单,且易出错。另外对新来学生,新开课程的添加和修改,对毕业班学生信息的大批量的删除也比较繁琐。所以开发一个机房管理系统用来实现教学安排的任务是可以满足这种情况的需求的。(2)系统可行性分析本节主要进行可行性分析。可行性分析的目的不是解决问题,而是确定
25、问题是否值得去解决,以及对相关方法的对比。在系统初步调查的基础上,明确了计算中心现有手工操作的主要问题和建立机房综合管理系统的初步设想,进一步对系统目标等因素进行分析研究,根据分析,该系统的开发是切实可行的。2.2 系统详细调查整个系统有五个功能,本文只叙述用户的登录与注册,使用权限,信息操作,教师和管理员对学生的管理,上机安排等。2.2.1 权限设定系统根据用户身份的不同,设置了不同的使用权限。具体如下:(1)在服务器端,教师和机房管理员可以输入帐号和密码,选择登录类型,进入到操作界面中。如果账户和密码输入错误,系统可以提示报错信息。(2)机房管理员分为超级管理员和普通管理员。超级管理员打开
26、注册对话框,添加新的机房管理员。系统确定此管理员以前没有注册过,然后进行添加处理。(3)机房管理员可以对学生的资料(包括学号,姓名,联系方式等)进行查询,修改,删除等。(4)机房管理员可以对学生上机进行管理。机房管理员可以对学生上机安排信息进行添加,删除,修改等。其中需要注意的是:排课人员从由教务处印发的学生课程教学安排中获取本学期的教学计划和教学安排情况,根据课程情况、学生人数和机房情况选择机房,在排课的过程中,机房管理人员需要处理以下几个问题:(1)同一学生在同一时间不能有两门及以上的课程安排,否则提示该学生已有安排;(2)同一名教师不能在同一时间给两个不同的学生(即在不同的机房)上课,否
27、则提示该教师已有安排;(3)学生人数不能大于机房的可容纳人数,否则提示机房人数过多。2.2.2 信息操作机房管理人员在学生信息表中对学生可以进行人数的查询功能,学生信息的修改功能,对新增学生的编号、名称、人数的添加功能;教师可以查询自己学生的信息,可以把一些学生添加到自己的班级中,把一些学生删除出自己的班级。教师可以申请机房的使用权,可以给自己学生安排上机。2.3 数据的收集需要收集的主要数据有教师的个人资料:包括教师姓名,联系地址,联系电话,教师的照片;机房的基本信息:机房的电脑容量,机房中电脑的数量;机房的管理员资料;学生的个人资料,所属专业,年级以及上机安排等。此外,根据本系统对数据库的
28、要求,特规定以下表字段约束条件:(1)教师只能查询自己的学生信息,查询自己的学生上机情况,以及对他们进行操作;(2)学生只能登录此系统的客户端,远程访问数据库中的个人信息和自己教师的基本资料;(3)机房管理员可以对机房,机房中的电脑进行查询操作;(4)教师不可以操作硬件管理这一模块,同时不能对其他教师的基本资料进行修改。第3章 数据库的设计本章对系统中的数据库进行设计。设计了一些关系表,表示教师在一星期某个时间段去上机管理。但没有考虑到教师每次未到和早退情况,而且数据库中并没有记录教师每次登录的信息。为了方便程序的开发,我们定义了关于学生,教师,机房等的存储过程,而且设计视图,方便对数据库的访
29、问。3.1 数据表的定义系统共设计了11个数据表,来表示一些实体和实体之间的关系。数据库的定义,主要基于需求分析。从需求分析中,我们可以知道,在机房管理系统中,最重要的数据表是教师表,学生表,机房表,计算机表以及它们之间的关系表。下面几节进一步说明主要数据表是如何定义的。在上述的重要表中,ID号用nchar来表示,这样就可以把表示的范围设置的更广,格式设置的更有意义。(1)机房机房的主要属性是机房号,机房的计算机存放容量以及已存入此机房的计算机数量。一个外键是机房管理员,记录机房由哪一个管理员来管理。机房号的格式是:机房所在的楼层号+机房在此楼层中的排序,比如303ru如果机房在第三层第三个房
30、间,则它的ID号是303。在数据表中,英文缩写rComputerCapcity表示机房计算机容量,rComputerNum表示存入机房中的计算机数量。(2)计算机计算机机房管理系统中一个重要的实体是计算机。为了方便数据库管理员对计算机的控制管理,特定义了计算机的以下属性。计算机的ID号,计算机的ID号是机房号加上此电脑存入机房中的顺序来表示的。例如,存入到302机房的第52台计算机,我们就可以用30252为它的ID号。计算机中另外几个属性是,存入时间,存放位置,运行情况,和它存放到某一机房的机房号。在数据库中使用一些英文缩写来表示它的属性,如表3-1所示。表3-1 computer数据表英文缩
31、写汉语意思 注释cSaveTime存入时间cStayPosition存放位置机房共分为10排,10列,用(排-列)来表示,排的数据范围是(0110)列的范围是(0110)cRunCondition运行情况运行情况可以使用布尔值来表示,true表示机器正常,false表示机器正在维修中cRoomID 机房号机房号是数据表机房的外健(3)教师与学生除去教师与学生的ID号与姓名外,重要的属性是联系地址,联系电话,电子邮箱。学生的属性中有年级,班级以及专业等。(4)教师上机管理教师上机信息属于关系表,在表中,我们可以查询到教师的上机时间与上机地点等静态信息。上机时间分为两个属性来表示,即一星期中的第几
32、天与这一天中的哪个时间段。如表4-5所示。表3-2 教师上机管理机房表英文缩写汉语意思注释tr教师上机trID自动增量tID教师ID外键rID机房号外键trDay第几天上机分(06)七个数值,0表示星期日,1表示星期一,依此类推trSegment上机时间段哪个时间段,分为三个值0,1,2(0代表上午8:00-10:00,1代表上午10:00-12:00,2代表下午3:00-5:00)trProject上机课程(5)其他表学生上机表sr(srID,sID,rID,srDay,srSegment)。sID表示学生ID,rID表示机房号srDay表示哪一天,取值范围是(06),分别表示星期日,星期一
33、到星期六。srSegment表示每天的上机时间段。0表示8:00到10:00,1表示10:00到12:00,2表示15:00到17:00;还有一些不重要的表就不一一介绍了。3.2 存储过程通过需求分析,可做出一部分存储过程,主要是教师信息操作和机房管理员信息操作。3.2.1 教师信息在数据库中,针对于教师信息,主要设计了三个存储过程。可以在数据库中对教师的基本资料进行修改。(1)添加更改教师信息添加学生信息的存储过程名称是AddTeaInfo,更改学生信息的存储过程名称为UpdateTeaInfo。它们的主要参数为tID,tName,trproject,tTel,tPhoto等。(2)删除教师
34、信息存储过程名是DeleteTeaInfo,参数是tID,数据库根据tID把teacher表中的特定记录删除掉。在删除教师信息之前,应该把教师与学生的关系表,教师与机房的关系表中的相应记录删除掉。3.2.2 教师上机安排共设计了两个关于教师上机安排的操作,在系统中,可以修改和添加上机安排信息。(1)添加教师上机安排信息把教师上机信息添加到数据表tr中,AddTRInfo,参数是tID,rID,trDay,trSegment,trproject。(2)删除教师上机安排信息从数据表中删除教师上机信息,DeleteTRInfo,参数是tID,rID,trDay,trSegment,trproject
35、。第4章 系统的概要设计系统共分为四大功能模块:系统管理模块,学生管理,教师管理,硬件管理模块,远程管理。本人主要负责教师管理模块的实现,所以本章主要对教师管理模块进行介绍。4.1 系统总体设计系统实现的主要功能是对计算机实验的上机进行管理,包括教师对学生的上机管理,教师的基本信息资料与学生的基本信息资料的操作等,满足教师,机房管理员的工作需求。在此基础上,把系统分为四大模块,整个系统的功能模块图如图4-1所示。图4-1 模块分析图4.2 教师管理模块此模块主要功能是对教师基本资料的查询和教师上机对信息的管理。教师管理模块所调用的对话框有:TeaQueryTemplate和AddTeadInf
36、or。在此模块中设计了自定义空间PhotoOper,它具有图片上传功能。4.2.1 教师信息模块教师信息模块包括教师数据管理类与教师管理类,这两个类都属于业务逻辑层。负责对教师相关的数据进行格式转化,从而便于操作与存储。教师管理类中有两个ArrayList数组,分别存储用户对教师信息,上机信息操作的结果。定义一个枚举变量来表示用户的操作类型。它有三个参数UPDATA,与DELETE,ADD。采用层次结构的系统设计,教师信息查询界面只能看到教师管理类的功能。而把消息转化生成为Sql语句,调用数据库管理类则需要教师数据管理类。三层体系架构如图4-2所示。图4-2 教师信息管理 教师数据管理类(te
37、acherDataManage)数据库管理类(DataManage)教师管理类(teacherManage)教师信息管理界面(1)删除教师信息调用教师管理类的DeleteTeaInfor方法,传递DataRow参数,教师管理类把DataRow转化后添加到数组中。(2)更改教师信息调用教师管理类的UpdateTeaInfor方法,把更改后的教师信息添加到数组中。(3)在添加和更改教师信息时,教师信息模块对话框都要调用另外一个对话框,在新的对话框中对教师信息进行操作,操作后的数据存储到数组中,并用枚举类型OperType中的一个值来记录用户的操作类型。(4)添加教师信息调用教师管理类的AddTea
38、Infor方法,负责把教师信息添加到一个组中。4.2.2 教师信息添加和修改我们可以在对话框AddTeadInfor中新添加教师的信息,或者更改教师的信息。在对话框中,有一字段是父类的引用,当确定对教师数据的修改后,就使用此字段来引用父类的教师管理对象,来把教师数据保存到数组。如图4-3和4-4所示。图4-3 教师管理自定义模块PhotoOper可以添加到父类,它可以打开一个文件对话框。根据选择的路径来创建一个BitMap位图。并把此位图以字节数组的形式传到父类的表格中。图4-4 AddStuInfo对话框第5章 系统的具体实现在系统设计中,定义了具有独特功能的类,这些类包括很多静态方法。每一
39、个模块都可以调用它们来实现一些数据转化,数据库交互等操作。同时,在每个模块中,还设计了具有针对本模块的类,把这些类分别划归为不同的开发层次中,相互调用,函数分工明确。5.1 系统辅助类系统公用常规操作的实现主要使用自定义的内部管理类InitMach和数据库管理员类DataManager。1内部管理类系统内部管理类,主要负责管理系统内部数据格式转化的。表5-1 简单方法的定义函数名参 数注 释GetProjects查询所有的课程Loginteacher系统登录HasNotSpecialCharString:str判断str中是否有特殊字符,返回布尔值IsTelphotoFormatString:
40、str判断str是否是电话号码格式,返回布尔值WeekNumToStrint:weekNum把阿拉伯数字转化成“星期”ClassNumToStrInt:classNum把阿拉伯数字转化成“班”GradeNumToStrInt:gradeNum把阿拉伯数字转化成“年级TimeSpanToStrint:intTime把0,1,2分别转化为时间段字符串式WeekStrToIntstring:strWeek星期转化成相对应的阿拉伯数字ClassStrToIntString:classStr把“班转化成阿拉伯数字GradeStrToIntstring:gradeStr把“年级转化成阿拉伯数字TimeSp
41、anToIntString:timeSpan把字符串式分别转化为0,1,2GetProjectNameInt:projectID根据课程号查询课程GetProIntString:proName根据专业课程名称查询专业号GetProjectIntString:projectName根据课程名称查询课程号public static bool IsConflict(string args, ListViewItem listViewItem1):看参数数组和listViewItem1是否冲突,其中args表示参数,返回冲突与否的布尔值。AddItemsToListView往ListView中添加一行
42、.参数为args和ListView1.args可以作为ListViewItem构造函数的参数来创建ListViewItem对象。在函数体中,首先调用IsConflict的算法,来判断ListView1中是否存在同样的数据,然后决定把新的数据插入到ListView1中。2数据库管理员类系统对数据库的访问完全是通过数据库管理员类DataManager,DataManager提供充足的接口实现数据在管理系统和数据库进行交互,负责对数据库的所有操作。可以采用面向连接和非面向连接两种方式。内部有基本字段con,dataReader分别属于SqlConnection和SqlDataReader。con负责
43、与数据库建立连接。通过Open()函数,打开连接,然后有权对数据库中的数据进行访问。con可以通过Close()关闭连接,以保证数据库的安全性。SqlDataReader是建立在数据库面向连接的基础上的。它采用游标方式,每次调用函数Read(),指向数据库表中的游标就往下移一个纪录。SqlDataReader提供GetString(param),GetByte(param),GetInt32(param)等函数,来返回当前游标所在记录中的某一字段值。当数据库访问完毕后,要及时通过Close()函数关闭连接。连接句Properties.Settings.Default.CRMSConnectio
44、nString。当con打开连接时,要调用这一连接语句。它的定义存在app.config中。MakeInParam函数,传入参数并且转换为SqlParameter类型。它有几个参数,ParamName,存储过程参数名称;DbType,参数类型;Size,参数大小;Value,参数值。它返回新的parameter对象,在函数内调用ParameterDirection.Input表示参数是传入的而不是传出的。MakeParam函数,接受MakeInParam,和MakeInPara的参数相同,只是增加了ParameterDirection,ParamterDirection有两个值,分别是ParameterDirection.Output,ParameterDirection.Input。表示ParamName是存储过程的输出结果还是输入参数。RunProc执行参数命令文本(无数据库中数据返回)。函数声明是:int RunProc(string procName,SqlParamete