已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书分类号:密 级:毕业设计(论文)李集中学信息管理系统的设计与实现the design and implementation of information management system of liji high school姓 名学 号专 业计算机科学与技术指导教师2012年4月30日 徐州工程学院成人教育学院毕业设计(论文)徐州工程学院学位论文原创性声明(非学位论文不要)本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。本人完全意识到本声明的法律结果由本人承担。论文作者签名: 刘永强 日期:2012 年 4月30日徐州工程学院学位论文版权协议书(非学位论文不要)本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。论文作者签名: 刘永强 导师签名: 日期: 2012年 4月12日 日期: 年 月 日摘 要 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,本系统采用visual basic 6.0为开发工具,后台数据库采用assecc 2000,操作系统为windowsxp 本学生信息管理系统包括学籍信息管理、班级信息管理、课程信息管理、成绩信息管理四大模块。管理员可以拥有完全的权限管理系统,而学生用户只拥有查询学籍信息和查询成绩信息的权限。本文首先阐述了该系统的开发背景、开发意义,分析了相关的开发工具和相关技术,介绍了本系统的总体设计思想、总体方案设计、功能设计与结构设计,重点介绍了各模块功能的实现方法、界面的详细设计方法和设计过程。 关键词:学生信息;管理系统;vb;adoabstract with the scale enlargement of the school, the number of students has increased dramatically, the students various information also increase exponentially. facing huge amount of information, it is necessary to develop students information management system to improve the efficiency of the student management work. through this system, can do the information management, scientific statistics and rapid inquiry, so as to reduce the workload of management.the students information management system including student status information management, and class information management, curriculum information management, performance information management four modules. administrators can have full authority management system, and the user has only inquires the student status students information and inquire achievement of the information access.the system uses the visual basic 6.0 as a development tool, the backend database using assecc 2000, operating system for windowsxpkeywords students information management system vb adoiii徐州工程学院成人教育学院毕业设计(论文)目录1 绪论11.1 课题研究的历史与现状11.2 系统分析21.2.1可行性分析21.2.2操作可行性21.2.3技术可行性21.2.4经济可行性21.2.5功能需求22 开发平台及数据库访问技术42.1 visual basic简介42.2 ado简介42.3 ado中connection对象的属性42.4 ado中connection对象的方法52.5 ado中connection对象的事件62.6 ado中connection对象的常数63 系统总体设计83.1系统功能设计83.2 系统组成框图83.3数据流程图:94 数据库设计104.1数据库需求分析104.2 数据库概念结构设计104.3 数据库逻辑结构设计114.4数据字典135 系统的详细设计155.1 创建工程项目student_mis155.2 创建学生信息管理系统的主窗体155.3 创建主窗体的菜单175.4 创建公用模块175.4.1 系统用户管理模块的创建185.4.2 用户登录窗体的创建185.4.3 添加用户窗体的创建205.4.4 修改用户密码窗体的创建215.4.5 学籍管理模块的创建225.4.6 添加学籍信息窗体的创建225.4.7 修改学籍信息窗体的创建245.5 查询学籍信息窗体的创建265.6班级管理模块的创建285.6.1 添加班级信息窗体的创建285.5.2 修改班级信息窗体的创建295.7 课程设置模块的创建295.7.1 添加课程信息窗体的创建295.7.2 修改课程信息窗体的创建305.7.3 设置年级课程窗体的创建315.8 成绩管理模块的创建325.8.1 添加成绩信息窗体的创建325.8.2 修改成绩信息窗体的创建345.8.3 查询成绩信息窗体的创建346 系统测试35结论36致谢37参考文献38附录 源代码39ii徐州工程学院成人教育学院毕业设计(论文)1 绪论1.1 课题研究的历史与现状管理信息系统就是我们常说的mis(management information system),在强调管理,强调信息的现代社会中它变得越来越普及。mis是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(edp,electronic data processing)系统。当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(dss,decision support system)的任务。我国20世纪70年代末有少数企业开始mis的局部应用。“六五”期间,选择一些大型企业进行mis的开发试点,其中首都钢铁公司、北京第一棉纺厂、湖北第二汽车制造厂、宁江机床厂等取得了经验。20世纪80年代中后期,在全国性的计算机应用热潮中,许多企业纷纷从财务管理、人事管理等单项应用入手,尝试建立mis。许多企业,如北京内燃机厂、北京电视机厂、沈阳鼓风机厂、天津渤海无线电厂的mis初具规模,建立了覆盖全厂的计算机网络。“八五”期间,企业逐步走向市场,mis建设的目标和需求日益明确。一些企业的系统,如北京第一机床厂、山西经纬纺织机械厂、成都飞机制造公司等都达到了很高的水平,与企业中其他系统集成,形成了cims。目前,我国mis已经有了相当的普及率,几乎覆盖了各个行业及各个部门。在学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息管理陷入“事倍功半”的地步。学生信息管理工作在正常的情况下需对大量的数据进行处理,它们包括,学生学籍信息录入、学生学籍修改、学生基本档案输入、学籍变动、学生成绩录入、学生成绩查询等。如果由人工去处理这些数据需要花费大量的时间、人力、物力。学籍管理系统,是在总结以上管理方法的基础上并结合用户的需求对学籍的各种数据进行了有针对性的开发,充分利用visual basic具有强大的数据库管理功能及在应用程序开发上高效、灵活的特点,创建了各个过程,目标设计、系统开发背景、开发和运行环境选择、系统功能分析、系统功能模块设计、数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库结构实现、各个功能模块的创建、系统的编译和发行等进行了详细描述。学籍管理系统设计突出了信息管理系统完整实用的开发方法,系统的最大特点是突出了实用性和实效性,紧密的结合了用户的使用要求,操作方便,有一人进行管理就可以完成大量的学籍管理工作。1.2 系统分析1.2.1可行性分析可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性分析是对系统进行全面、概要的分析。通过调查分析,本系统设计主要有以下三个可行性:1.2.2操作可行性本系统操作简单,易于理解,只需通过简单指导,上手较快,系统管理员、教师以及学生均能进行操作,运行环境要求低。1.2.3技术可行性本系统在windows xp server 开发环境下,利用visual basic 6.0开发工具,并使用sql server 2000作为数据库管理系统,来实现学生学籍管理系统的各种功能。sql server 2000属于主从时式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口。当然也可以使用sql server 2005为数据库管理系统,开发工具也可以是它的更高版,这样可以提高系统的性能,降低它的局限性。1.2.4经济可行性采用新的学生学籍管理系统可取代原系统的手工管理工作,减少人工开支,节省资金,并且可大大提高数据信息的取得,缩短数据信息处理时间,提高学生信息的利用率,使教学质量更进了一个台阶。1.2.5功能需求根据学生信息管理系统的基本流程和学生信息管理的实际要求,本系统需要实现以下功能:(1) 学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;(2) 要求在系统中能够对学生信息精心灵活的浏览和查询;(3) 要求在系统中能够对班级信息进行输入、查询和修改等;(4) 要求能够对学校基本课程信息录入、修改和设置等;(5) 要求能够对学生成绩信息进行输入、修改和查询等;(6) 基于权限的管理,本系统可以提供给管理员或者学生本人使用。对学生类用户,只能查看信息;而对于管理员类用户而言,可以管理所有的学生信息。2 开发平台及数据库访问技术2.1 visual basic简介无论用户是一个windows 编程新手,还是已经具有丰富的windows程序设计经验的专业程序开发人员,利用visual basic 6.0提供的良好开发环境,均可以使你快速地完成所需设计任务。所谓visual ,中文的意思是“可视化”,它提供了一种创建图形用户界面(gui)的方法,利用这种方法,用户可不必书写复杂的描述界面元素外观和位置的程序代码,而只需将系统提供的对象放到屏幕上的适当位置,并通过属性窗口进行适当的设置或调整,就可以设计出一个优秀的应用程序界面。此外,用户除了可以使用单独的visual basic 6.0程序设计环境进行程序设计外。visual basic 6.0 程序设计系统还被包括在excel access 等众多windows功能应用软件中,以供用户进行二次开发。目前在编制网页上使用较多的vbscript 脚本语言实际上是visual basic 语言的子集。因此,无论从哪方面讲,用visual basic 6.0系统开发软件都是一件非常合算的投资。2.2 ado简介activex data objects(ado)是微软公司最新的数据访问技术。它被设计用来同新的数据访问层ole db privider一起协同工作,一提供通用数据访问(universal data access)。ole db是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。最重要的三个ado对象是connection、recordset和comment。每个connection的属性定义了与数据源的连接。recordset对象接收来自数据源的数据。recordset 可以与connection一起使用,先建立一个连接,然后获取数据。尽管如此,recordset也可以被单独创建,其connection参数可以在open属性定义。2.3 ado中connection对象的属性connection对象的属性如下表:表2-1 connection对象的属性表属性名称属性类型和用途attributes可读写long类型,通过两个常数之和指定是否使用保留事务(retainning transactions)。常数adxactcommitretaning表示调用committrans方法时启动一个新事务:常数adxactabortretanin表示调用rollbacktrans方法时启动一个新事务。默认值为0,表示不使用保留事务。commandtimeout可读写long类型,指定终止某个相关command对象的execute调用之前必须等待时间。默认值为30秒。connectionstring可读写string类型,提供数据提供者或服务提供者打开到数据源的连接所需要的指定信息connectiontimeout可读写long类型,指定终止一个失败的connection.open方法调用之前必须等待的时间,默认值为15秒cursorlocation可读写long类型,确定是使用客互端游标引擎,还是使用服务器端游标引擎。默认值是aduseserverdefaultdatabase可读写string类型,如果connectstring中未指定数据库名称,就使用这里指定的名称,对sql server而言,默认值是pubsisolationlevel可读写long类型,指定和其他并发事务交互时的行为或事务。provider可读写string类型,如果connectionstring中未指定olb db数据或服务提供者的名称,就使用这时指定的名称。默认值是msdasqlstate可读写long类型,指定连接是处于打开状态,还是处于关闭状态或中间状态。version只读string类型,返回ado版本号2.4 ado中connection对象的方法表2-2 connection对象的方法表方法名称用途begintrans初始化一个事务;其后必须有committrans和/或rollbacktrans相呼应close关闭连接committrans提交一个事务,以完成对数据源的永久改变(要求使用之前必须调用了begintrans方法)executeselect sql语句返回一个forward-only recordset对象,也用来执行那些不返回recordset语句,如insertupdatedelete查询或ddl语句open用来连接字符串来打开一个连接openschema返回一个recordset对象以提供数据源的结构信息(metadata)rollbacktrans取消一个事务,恢复对数据源做的临时性改变(要求使用之前必须调用了begintrans方法)2.5 ado中connection对象的事件表2-3 connection对象的方法表事件名称触发时机begintranscompletebegintrans方法执行以后committranscompletecommittrans方法执行以后connectcomplete成功建立到数据源的connection之后disconnectconnection关闭之后executecomplete完成connection. execute或command. execute之时infomessage一个error对象被添加到adodb.connectuin.error 集合之时rollbacktranscompeleterollbacktrans方法执行之后willconnect即将调用connection.open方法之时willexecute即将调用connection.execute或command.execute方法之时2.6 ado中connection对象的常数在ado中connection对象的常数包括isolationlevel常数、mode常数、state常数、execut方法中lngoption参数用到的常数和adodb事件处理子过程参数adstatus所用的常数。isolationlevel常数的含义如下表:表2-4 isolationlevel常数表常数含义adxactcursorstability只允许读其他事务已提交的改变adxactbrowse允许读其他事务未提交的改变adxactchaos本事务不会覆盖其他位于更高隔离程度的事务所做的改变adxactisolated所有事务相互独立adxactreadcommitted只允许读其他事务已提交的改变adxactreaduncommitted允许读其他事务未提交的改变adxactserializable本事务不会覆盖其他位于更高隔离程度的事务所做的改变adxactunspecified不能确定提供者的事务隔离程度mode常数的含义如下表:表2-5 mode常数表常数含义admodeunknown未指定数据源的连接许可权(默认值)admoderead连接是只读的admodereadwrite连接是可读写的admodesharedenyread拒绝其他拥护打开到数据源的读连接admodesharedenywrite拒绝其他拥护打开到数据源的写连接admodeshareexclusive以独占方式打开数据源admodewrite连接是只写的state常数的含义如下:表2-6 state常数表常数含义adstateclosedconnection是关闭的adstateconnecting正在连接数据源的状态adstateexecutingconnection或command对象的execute方法已被调用adstatefetching返回行到recordset对象adstateopenconnection是打开的execute方法中lngoption参数用到的常数含义见下表:表2-7 execute方法中lngoption参数的常数表常数含义adcmdunknown类型未定,由数据提供者去判断command语法adcmdfile是和对象类型相应的文件名称adcmdtable是能产生北部select*from tablename查询的表名称adcmdtabledirect是能直接从表中获取行内容的表名称adcmdtext是一条sql语句adodb事件处理子过程参数adstatus所用的常数的含义见下表:表2-8 adodb事件处理子过程参数adstatus的常数表常数含义adstatuscancel操作被用户取消adstatuscnatdeny操作不能拒绝其他用户对数据源的访问adstatuserrorsoccurred操作导致错误并已送到errors集合中adstatusok操作成功adstatusunwantedevent操作过程中一个未预料到的时间被激活3 系统总体设计3.1系统功能设计系统开发的总体任务是实现学生信息管理的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。学生信息管理系统需要完成的功能主要有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学校基本课程信息的输入。基本课程信息的修改。学生课程的设置和修改。学生成绩信息的修改。学生成绩信息的查询。学生成绩信息的统计。3.2 系统组成框图对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到下图所示的系统功能模块图。学生信息管理系统成绩信息管理课程信息管理班级信息管理学籍信息管理系统管理成绩信息查询成绩信息修改成绩信息添加年级课程设置课程信息修改课程信息添加班级信息修改班级信息添加学籍信息查询学籍信息修改学籍信息添加密码管理用户管理图3-1系统功能模块图。3.3数据流程图:学生注册基本信息输入班级设置学籍信息管理成绩信息输入班级管理班级课程设置课程基本信息班级课程管理 图3-2系统数据流程图数据项和数据结构:学生基本信息:包括的数据项有:学生学号、学生姓名、性别、出生日期、班号、联系电话、入校日期、家庭住址、备注等。班级信息:包括的数据项有:班号、所在班级、班主任姓名、所在教室等。课程基本信息:包括的数据项有:课程号、课程名称、课程类别、课程描述等。课程设置信息:包括的数据项有:年级信息、所学课程等。学生基本信息:包括的数据项有:考试编号、所在班级、学生学号、学生姓名、所学课程、考试分数等。4 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。4.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计打下基础。4.2 数据库概念结构设计在得到数据项和数据结构以后,就可以设计出满足用户需求的各种实体,以及他们之间的关系,为逻辑设计打下基础。实体有:学生实体、班级实体、年级实体、课程实体。学生实体e-r图:学生学生基本信息学生班级信息学生课程信息学生成绩信息图4-1 学生实体e-r图班级实体e-r图:班级班号所在年级班主任所在教室图4-2班级实体e-r图课程实体e-r图:课程课程编号课程名称课程类别课程描述图4-3 课程实体e-r图年级实体e-r图:年级年级名称包括班级设置课程实体和实体之间的关系e-r图: 图4-4年级实体e-r图学生学生学生班级设置年级设置考核过程课程设置学生图4-5 实体之间的关系e-r图4.3 数据库逻辑结构设计现在需要将上面的数据库概念结构转化为assecc 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表以及各个表之间的关系。学生信息管理系统数据库中各个表格的设计结果如下所示:学生基本信息表(student_info):表4-6 学生基本信息表列名数据类型说明student_idint(4)学生学号(主键)student_namechar(10)学生姓名student_sexchar(2)学生性别born_datedatetime(8)出生日期class_noint(4)班号tele_numberchar(10)联系电话ru_datechar(8)入校时间addressvarchar(50)家庭住址commentvarchar(200)注释班级信息表格:表4-7 班级基本信息表列名数据类型说明class_noint(4)班号(主键)gradechar(10)年级directorchar(10)班主任classroom_nochar(10)注释课程基本信息表:表4-8 课程基本信息表列名数据类型说明course_noint(4)课程编号(主键)course_namechar(10)课程名称course_typechar(10)课程类型course_deschar(10)课程描述年级课程设置表:表4-9 年级课程设置表列名数据类型说明gradechar(10)年级course_namechar(10)课程名称学生成绩信息表:表4-10学生成绩信息表列名数据类型说明exam_nochar(10)考试编号student_idint(4)学生学号student_namechar(10)学生姓名class_noint(4)学生班号course_namechar(10)课程名称resultfloat(8)分数系统用户表:表4-11 系统用户表列名数据类型说明user_idchar(10)用户名称(主键)user_pwdchar(10)用户密码user_deschar(10)用户描述4.4数据字典user info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1user_idyesnvarchar102user_pwdyesnvarchar103user_desyesnvarchar10radecourse_info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1gradeyesnvarchar102courseyesnvarchar10result_info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1exam_noyesnvarchar102student_idyesnvarchar503student_nameyesnvarchar104class_noyesint1005course_nameyesnvarchar106resultyesint100class_info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1class_noyesnvarchar502gradeyesnvarchar103directoryesnvarchar104classroomyesnvarchar10student_info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1student_idyesint1002student_nameyesnvarchar103student_sexyesnvarchar24born_dateyessmalldatetime1605class_noyessmallint506tele_numberyesnvarchar107ru_dateyessmalldatetime1608addressyesnvarchar509commentyesnvarchar200course_info()序号名称默认值允许为空数据类型最大长度精度小数位描述是否主键1course_noyesnvarchar502course_nameyesnvarchar103course_typeyesnvarchar104course_desyesnvarchar505 系统的详细设计5.1 创建工程项目student_mis为了用visual basic创建应用程序,应当使用工程。一个工程是用来建造应用程序的文件的集合,它包括: 跟踪所有部件的工程文件(.vbp) 每个窗体的文件(.frm) 每个窗体的二进制数据文件(.frx),它含有窗体上控件的属性数据。对含有二进制属性的任何.frm文件都是不可编辑的,这些文件都是自动产生的。 每个类模块的一个文件(.cls),该文件是可选项。 每个标准模块的一个文件(.bas),该文件是可选项。 一个或多个包含activex控件的文件(.ocx), 该文件是可选项。单个资源文件(.res), 该文件是可选项。启动visual basic后,单击file/new project菜单,在工程模板中选择standard exe, visual basic将自动产生一个form窗体,属性都为缺省设置。删除窗体,单击file/save project菜单,将工程项目命名为student_mis。5.2 创建学生信息管理系统的主窗体visual basic创建的应用程序可以是sdi(单文档界面)和mdi(多文档界面)。在sdi的程序中,每个窗体之间是独立的。而mdi的程序中,有一个窗体是主窗体,可以包含其他窗体,它的类型是mdi form。本系统采用多文档界面,这样可以使程序更加美观、整齐有序。图5-1 学生信息管理系统主窗体单击工具栏中的“add mdi form”按钮,生成一个窗体,属性设置如表。主窗体及其控件属性设置:表5-1 主窗体及其属性表控件属性属性取值frmmain(form)namefrmmaincaption学生信息管理系统startuppositoncenterscreenwindowsstatemaximizedsbstatusabar(statusbar)namesbstatusbar在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化。状态栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态栏控件,单击鼠标右键,选中property菜单,在“general”属性页对一般属性进行设置,在“panels”属性页对各个文本框进行设置,在“font”属性页对文本字体进行设置,在“picture”属性页可以添加图片。单击insert panel按钮,为状态栏添加3个面板,设置属性如下表:表5-2 主窗体中面板属性设置表面板属性属性取值1stylesbrtext2stylesbrdate3stylesbrtime面板1用来显示各种文本信息,面板2用来显示当前日期,面板3用来显示当前时间。5.3 创建主窗体的菜单在主窗体中,单击鼠标右键,选择弹出式菜单中的“menu editor”命令,创建菜单结构如下表: 系统添加用户修改密码推出系统学籍管理添加学籍信息修改学籍信息查询学籍信息班级管理添加班级信息修改班级信息课程设置添加课程信息修改课程信息设置年级课程成绩管理添加成绩信息修改成绩信息查询成绩信息帮助使用说明 图9 主窗体菜单结构表5.4 创建公用模块在visual basic中可以用公用模块来存放整个工程项目公用的函数、全局变量等。整个工程项目中的任何地方都可以调用公用模块中的函数、变量,这样可以极大地提高代码的效率。在项目资源管理器中为项目添加一个module,保存为module1.bas。下面就可以开始添加需要的代码了。由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种sql语句。添加函数executesql。executesql函数有两个参数:sql和msgstring。其中sql用来存放需要执行的sql语句,msgstring用来返回执行的提示信息。函数执行时,首先判断sql语句中包含的内容:当执行查询操作时,executesql函数将返回一个与函数同名的记录集对象(recordset),所有满足条件的记录包含在对象中;当执行如删除、更新、添加等操作时,不返回记录集对象。在executesql函数中使用了connect string函数,这个函数用来连接数据库。由于在后面的程序中,需要频繁检查各种文本框的内容是否为空,这里定义了txsttxt函数。如果文本框内容为空时,函数将返回true,否则将返回false。由于学生信息管理系统启动后,需要对用户进行判断。如果登录者是授权用户,将进入系统,否则将停止程序的执行,这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。系统需要知道登录用户的信息,定义全局变量username: public username as string5.4.1 系统用户管理模块的创建系统用户管理模块主要实现:用户登录。添加用户。修改用户密码。5.4.2 用户登录窗体的创建 统启动后,将首先出现用户登录窗体,用户首先输入用户名,然后输入密码。如果用户3次输入密码错误,将退出程序。图5-2 学生信息管理系统登录窗体用户登录窗体中放置了三个文本框(textbox),用来输入用户名、密码和用户类型;两个按钮(commandbutton)用来确定或取消登录;四个标签(label)用来标示窗体的信息。属性见下表:表5-3 用户登录窗体中控件及其属性设置表控件属性属性取值frmlogin(form)namefrmlogincaption登录startuppositoncentersreenwindowstatenomaltxtusernamenametxtusernametxtpasswordnametxtpasswordpasswordchar*txtusersxnametxtusersxcmdoknamecmdokcaption确定cmdcancelnamecmdcanelcaption取消lable1caption学生信息管理系统lable2caption用户名lable3caption用户密码lable4caption用户类型文本框txtpassword的passwordchar属性是用指定字符来掩盖用户输入的密码。为窗体定义全局变量ok,用来判断登录是否成功;定义micount,用来记载输入密码的次数。并且在载入窗体时初始化这两个全局变量。option explicit是用来规定所有变量使用前必须定义。这样可以避免由于输入错误而产生的新变量。当用户输入完用户名、用户密码和用户属性,单击cmdok按钮将对用户输入信息进行判断。用户单击该按钮,将触发按钮cmdok的click事件。用户如果没有输入用户名、用户密码和用户属性,将出现消息框给予提示。如果输入的用户名在用户表格中没有找到,将提示重新输入用户名(默认的用户名和密码是aa),文本框txtusername,将重新获得输入焦点。如果用户输入的密码不正确,文本框txtpassword将重新获得输入焦点。用户登录成功,全局变量ok将被赋值为false。公用模块中的main过程将根据ok的值决定是退出,或者进入管理员主模块,或者进入学生主模块。如果用户取消登录,单击“取消”按钮,将触发按钮的click事件,代码如下: ok = false me.hideme是visual basic中常用的对象,用来指代当前对象本身。5.4.3 添加用户窗体的创建进入管理员主模块后,选择菜单“系统|添加用户”就可以添加用户,出现添加用户窗体。图5-3 添加用户窗体在添加用户窗体中放置了三个文本框,用来输入用户名和密码;两个按纽用来确定是否添加用户;三个标签用来标示文本框的提示。这些控件的属性见下表:表5-4 添加用户窗体控件及其属性设置表控件属性属性取值frmadduser(rorm)namefrmaddusercaption添加用户startuppositoncenterscreenwindowstatenomaltxtusernamenametxtusernametxtpassword1nametxtpassword1passwordchar*txtpassword2nametxtpassword2passwordchar*cmdoknamecmdokcaption确定cmdcanelnamecmdcanelcaption取消lable1caption请输入用户名lable2caption请输入密码lable3caption请确认密码用户需要两次输入密码,用来确保输入密码的正确。用户输入信息完毕,单击“确定”按钮将触发click事件。一旦输入完毕,系统将首先查询数据库中与新建用户名相同的记录,如果有相同记录将提示用户重新输入用户名。当确定数据库中没有相同的用户名,并且两次输入密码一致时,将把该条记录添加到数据库中。单击“取消”按钮将取消添加用户的操作。5.4.4 修改用户密码窗体的创建用户可以修改自己的密码,选择菜单“系统|修改密码”,出现“修改密码”窗体。图5-4 用户修改密码窗体在修改密码窗体中,放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。控件属性如下表:表5-5 用户修改密码控件及其属性设置表控件属性属性取值frmmodifyuserinfo(form)namefrmmodifyuserinfocaption修改密码startuppositoncenterscreenwindowstatenomaltxtpassword1nametxtpassword1passwordchar*txtpassword2nametxtpassword2passwordchar*cmdoknamecmdokcaption确定cmdcanelnamecmdcanelcaption取消lable1caption请输入密码lable2caption请确认密码两次输入密码后,单击“确认”按牛,将触发click事件判断是否修改密码。当两次输入密码一致时,数据库中的记录将更新。5.4.5 学籍管理模块的创建学籍信息管理模块主要实现以下功能:添加学籍信息修改学籍信息查询学籍信息5.4.6 添加学籍信息窗体的创建选择“学籍管理|添加学籍信息”菜单,将出现“添加学籍信息”窗体。图5-5 添加学籍信息窗体在窗体上放置了多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否添加学籍信息;多个标签用来提示文本框需要输入的内容。属性见下表:表5-6 添加学籍信息窗体控件及其属性设置表控件属性属性取值frmaddsinfo(form)namefrmsinfocaption添加学籍信息mdichildtruetxtsidnametxtsidtxtnamenametxtnametxtborndatenametxtborndatetxttelnametxtteltxtrudatenametxerudatetxtaddressnametxtaddressscrollbarsverticalmultilinetruetxtcommentnametxtcommentscrollbarsverticalmultilinetruecombogendernamecombogendercomboclassnonamecomboclassnocmdoknamecmdokcaption确定添加cmdcanelnamecmdcanelcaption取消添加lable1caption学号lable2caption姓名lable3caption性别lable4caption出生日期lable5caption班号lable6caption联系电话lable7caption入校日期lable8caption家庭住址lable9caption备注在载入窗体时,程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容。在班号选择的下拉式文本框中,将出现所有班级,用户不用输入内容。用户输入内容完毕后,单击cmdok按钮将触发click事件。程序首先对是否输入内容进行判断,然后进行格式判断,使用了下面两个函数:判断数据是否日期格式isdate(txtborndate.text)判断数据是否日期格式isdate(txtrudate.text)判断是否有重复记录是很重要的,否则数据库中将发生错误。单击按钮cmdcanel取消添加学籍信息。5.4.7 修改学籍信息窗体的创建 选择“学籍管理|修改学籍信息”菜单,将出现“修改学籍信息”窗体。图5-6 修改学籍信息窗体这个窗体在“添加学籍信息”窗体的基础上添加了两排按钮,所有控件的属性见下表:表5-7 修改学籍信息窗体控件及其属性设置表控件属性属性取值frmaddsinfo(form)namefrmsinfocaption添加学籍信息mdichildtruetxtsidnametxtsidtxtnamenametxtnametxtborndatenametxtborndatetxttelnametxtteltxtrudatenametxerudatetxtaddressnametxtaddressscrollbarsverticalmultilinetruetxtcommentnametxtcommentscrollbarsverticalmultilinetruecombogendernamecombogendercomboclassnonamecomboclassnocmdfirstnamecmdokcaption第一条记录cmdpreviousnamecmdpreviouscaption上一条记录cmdnextnamecmdnextcaption下一条记录cmdlastnamecmdlastcaption最后一条记录cmdeditnamecmdeditcaption修改记录cmdupdatenamecmdupdatecaption更新记录cmdcanelnamecmdcanelcaption取消修改记录cmddeletenamecmddeletecaption删除记录frame1caption查看学籍信息frame2caption修改学籍信息lable1caption学号lable2caption姓名lable3caption性别lable4caption出生日期lable5caption班号lable6caption联系电话lable7caption入校日期lable8caption家庭住址lable9caption备注第一排按钮用来方便的浏览数据库中各条记录,第二排按牛用来修改记录。由于记录集为整个窗体公用,需要将记录集对象定义为全局变量。程序在窗体载入时自动加入各条记录。由于程序中各处需要显示数据,定义函数viewdate。单击“第一条记录”按钮,将显示第一条记录。单击“最后一条记录”按钮,将显示最后一条记录。单击“上一条记录”按钮,将显示上一条记录。单击“下一条记录”按钮,将显示下一条记录。单击“修改记录”按钮,将进入修改状态,各个文本框将都有效。此时,移动记录按钮将失效,可以避免误操作。修改完毕后,单击“更新记录”按钮,将触发click事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年8月份院感知识培训考核试题及答案
- 2025版《煤矿安全规程》考试题库及答案(含各题型)
- 医院地震疏散演练脚本
- 2025年河北省唐山市遵化市招聘社区工作者公共基础知识复习题及答案
- 2025年护理管理者题目及答案解析
- 2025年医疗系统护理岗面试题目及答案
- 商业停车位合同范本
- 2025年护理心理学起源演讲题目及答案
- 合同优惠保密协议书
- 商业使用权合同范本
- 钢铁企业能源知识培训课件
- 2025年国企招聘考试真题及答案
- 信息通信网络机务员(数据中心运行维护管理员 )国家职业标准(征求意见稿)
- 2025-2030乳品企业数字化转型现状及智能工厂建设趋势报告
- 浮筑地面施工方案
- 照明工程维护与保养工作方案
- 应急预案评审申请
- 2025四川攀枝花市仁和区事业单位秋季引才19人备考考试题库附答案解析
- 武昌起义课件
- 微波暗室安全培训课件
- 消火栓泄水施工方案
评论
0/150
提交评论