已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息管理系统设计与实现摘要:本文介绍了基于B/S结构的学生成绩管理系统的开发背景、意义和目前的发展现状;详细的阐述了学生成绩管理系统的分析、设计和实现的过程;该系统采用ASP技术和SQL SERVER数据库相结合实现,利用Dreamweaver MX作为网站前台的开发工具,以IIS为服务平台,实现基于网络的学生成绩管理系统的构建。本系统可以及时了解学生成绩信息,同时为管理者提供方便快捷的后台管理功能,给学校和学生都带来极大的方便。本系统包括了前端操作和后台管理两个模块,后台管理模块又分为教师和管理员,系统主要实现的功能是:系统前端实现了学生对个人的基本信息修改以及对成绩的查询,并可在线留言;后台管理则是教师对学生成绩和授课信息进行增加,删除,修改,查询等操作;管理员对全校学生的信息管理操作,学生成绩管理,授课信息管理。 关键词:成绩信息;管理系统;功能 目 录1 绪论12 系统开发技术12.1 Web数据库技术12.2 访问web数据库的五种方法22.3 运用ASP开发Web数据库43 需求分析53.1 系统需求分析53.1.1 流程分析53.1.2 系统设计思想53.1.3 系统设计分析53.1.4 系统功能分析63.1.5 数据库分析63.2 数据流程分析63.2.1 E-R图设计63.2.2 数据流图73.2.3 数据字典84 系统设计94.1 系统总体设计94.2 系统功能模块设计114.3 系统的流程图114.4 数据库的设计124.5 数据库连接145 系统实现155.1 学生登录155.2 学生基本信息查询165.3 教师录入学生成绩175.4 成绩查询实现205结论21参考文献23231 绪论学籍管理是高校教学工作的一个重要的组成部分,学籍管理水平的高低体现了学校教学管理水平的高低。由于缺乏现代化的管理手段,学籍管理人员常常面对大量的信息资料却不能及时调整出自己所需要的数据。学籍管理还处于半手工处理阶段,工作既繁琐又效率低,学生学籍发生异动,其相应的信息资料不能及时进行修改,往往会出现信息处理不一致的情况。每学期期末的成绩登出容易出现错,漏等情况。学生成绩的查询工作也极不方便。事实证明传统的管理模式既浪费人力资源,又不利于提高工作效率,保密性也差。随着时间的推移,产生大量的文件和资料,给查找更新和维护带来了很大的困难。随着学校专业设置的多样化,学校规模的不断扩大,招生人数逐年攀升以及教学计划的不断完善,学籍管理的数据量急剧增加,使得学籍管理老公强度大大增强,采用这种方式进行学籍管理是难以胜任的。所以,建立一个完善的集成化的计算机学籍管理系统势在必行,它具有手工管理无法比拟的优点,可以做到检索迅速、查找方便、可靠性高、保密性好、寿命长、成本低等,这些有点能够极大地提高效率,也能对学校科学化。正规化管理起到重要的作用。本文主要描述了高校学生成绩管理系统开发的整个过程。该系统是根据高校学生成绩管理的需求而开发的一个能够高效运行的管理系统,实现对学生基本信息、学生成绩的高效管理,是专门为教育管理机构设计的。本文根据高效学生成绩管理系统的开发过程,分别详细介绍了系统平台选择、系统需求、系统设计、数据库设计以及实现过程。该系统采用目前比较流行B/S编程模式,利用ASP+SQL设计而成。该系统的主要功能模块分为:系统维护模块,数据录入模块,统计打印模块,数据处理模块和帮助模块。本文对数据录入和数据处理模块进行了详尽的介绍。数据录入模块能够根据用户的个性化需求,批量录入且录入后可以对其一一做详尽的修改,从而实现大量数据的快速录入功能。2 系统开发技术2.1 Web数据库技术Web数据库基于B/S结构,客户端是浏览器,服务器端是Web服务器。浏览器和Web服务通过HTTP交换信息。Web上的大多数交互均可看成请求和响应,即浏览器向Web服务器发出请求(一般是要求显示一个用户想浏览的网页),而Web服务器则向浏览器返回相应(通常是一个HTML页面或图像等)。基于web的数据库采用三层客户端/服务器结构:第一层是浏览器,第二层是web服务器,第三层包括一些应用程序及相关的数据库。浏览器作为用户输入查询条件和显示查询结果的交互界面,用户可以通过填写表单或输入关键字的方式来与web交互。当用户单击表单上的按钮时,表单中的信息数据便被发送到web服务器。Web服务器负责接收用户输入信息,它将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据。最后,web服务器将返回结果插入到HTML页面,传送至浏览器以响应用户。 2.2 访问web数据库的五种方法目前在windows环境下有多种访问web数据库的技术,它不仅与操作系统有关,而且与数据库管理系统也有着必然的联系。主要方法有以下五种:(1) 公共网关接口CGI(Common Gateway Interface)CGU程序不仅能生成静态的内容,而且能生成动态的内容。CGI程序的工作过程是:1) 浏览器用户信息传递给web服务器;2) Web服务器运行CGI程序;3) CGI程序通过CGI数据网关对web数据库进行操作;4) CGI程序将数据库操作结果返回给web服务器;5) Web服务器将结果传递给浏览器;6) 浏览器将数据库操作的结果显示给用户。CGI是较早实现的技术,适用于多种服务器平台,如UNX、WINDOWS等,但CGI得开发成本高、维护困难、功能有限、占用服务器资源较多。(2) Internet数据库连接器IDC(Internet Database Connector)这是一种简易方案,对数据库的操作仍放在web服务器端,单用户可通过SQL语言对数据库进行查询、输入、更新、删除等操作。IDC设计简易,不用编译就可以直接执行,而且对数据库的多重查询,只适用于小型数据库系统。(3) 先进数据库连接器ADC(Advance Database Connector)前两种方案中对数据库的操作都是在服务器端进行,而ADC是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时,ADC先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。ADC系统开销较大,只适用于特别频繁的数据库查询操作。(4) Java/JDBC语言编程用Java语言实现WWW数据库,该技术主要是用JDBC技术访问数据库。JDBC是一种规模,其宗旨是让各个数据开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java的结合,使用户可以很容易的指导SQL语句传送到任何关系数据库中。Java语言是一种面向对象、易移植、多线程控制的语言。用Java/JDBC语言编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、告诉的应用。(5) 动态服务页面ASP动态服务器页面(Active Server Pages),一般简称为“ASP”,ASP之所以能受到大家的重视与使用,主要在于所产生的执行结果都是标准的HTML格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如IE或360或Netscape)都可以正确获得ASP的“执行”结果,并且将ASP执行结果直接在浏览器中“浏览”不像VBScript或JavaScript是在客户端(Client)在IE浏览器中可以显示程序执行的结果,而在Netscape浏览器中无法显示。ASP具有如下几个特点:1) 任何开发工具皆可开发只要使用一般的文书编辑程序,如Windows记事本,就可以编辑ASP,省钱又方便。当然,其他网页开发工具,如,FrontPage Express、FrontPage也都可以。2) 适合各家浏览器由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML,文件适用于不同的浏览器.语言相容性高,ASP与所有的Active Script语言都相容,除了可结合HTML、VBScript、Active X服务器组件来设计外,还可经由plug-In(外挂组件模组)的方式,使用其他厂商提供的语言。3) 隐秘安全性高如果在卢兰奇中直接查看网页的原始代码,就只能看到HTML文件,看不到原始的ASP程序代码。这是因为ASP程序先于网站服务端执行后,将结果换成标准HTML文件,在传送到客户端的浏览器上,因此,辛苦攒写的ASP程序不会被轻易看见而被盗用。4) 易于操控数据ASP可以轻易的通过ODBC(Open Database Connectivity )驱动程序连接各种不同的数据库,例如:Access、SQL Sever、Oracle等等。另外。ASP亦可将“文本文件”或是“Excel”文件当成数据库用。5) 面向对象容易学习ASP具有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便,能力强大的内建对象:Request、Response、Sever、Application以及Session。同时,使用ASP内建的“Application”对象或“Session”对象所攒写出来的ASP程序可以在多个网页之间暂时保存必要的信息。ASP是基于Web的一种编程技术,可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容,而浏览者一点察觉不出来,就像为他专门制作的页面一样。有ADO(Active Database Object动态数据库对象)的支持,ASP对数据库的操作非常得心应手。甚至可以向使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。ASP着重于处理动态网页和Web数据库的开发,编程灵活、简洁,具有较高的性能,是访问web数据库的较好选择。随着Internet技术的发展,开发基于web的应用程序势在必行,数据库技术和web技术组合具有更为广阔的前景。ASP作为微软推出的web应用程序开发技术,在数据库应用方面必将发挥越来越重要的作用。浏览器/服务器模式的数据库体系也将逐渐成为数据库结构的主流。2.3 运用ASP开发Web数据库ASP脚本是通过ADO来访问数据库,任何基于ODBC的数据库系统都能被ASP轻松访问。用ASP进行web数据库开发,可分为三个步骤:(1)建立ADO数据环境;(2)返回处理器;(3)释放环境变量。2.3.1 建立ADO数据环境建立ADO数据环境,主要是建立两个对象:Connection对象和Recordset 对象。建立一个与数据库连接。是使用任何数据库的首要任务,在这里我们用Connection对象创建ASP脚本和数据库的一个连接。Recordset对象于存储从数据库返回的数据行。例如:Set Con=Servert.createobject(“abodb.Connection”)Conn.open”Test”Set Rs=Servert.creatobject(”adodb.Recordest”)Sqlstmt=”Select BH,XM from Students”Rs.Open sqlstmt,connTest为ODBC数据源中的系统DSN,Student为Test数据库中的一个数据表。这段程序建立了一个Connection对象Con,一个Recordset对象Rs,Rs中存放了从Students数据库表中查询的结果。2.3.2 ASP中Web数据库的更新在ASP数据库开发中,能够很方便的对数据进行增加,删除,修改等操作。(1) 添加数据库记录,将指针移到返回集RS尾部或需要插入记录的地方,利用Addnew方法可以向数据库添加记录:RS.AddNewRS(“BH”)=”0211”RS(“XM”)=”吴玥玥”RS.Update(2) 删除数据库记录将指针移到返回集RS中需要删除的记录上,用Delete方法进行删除RS.Delete(3) 修改数据库记录如果需要修改编号为0211记录的名字,则将指针移到返回集RS中0211记录上,用下述方法进行修改:RS(“BH”)=”0211”RS(“XM”)=“王宇”RS.Update(4) 移动数据库记录指针在对数据库返回集的处理中,可用五种方法来移动数据库记录指针:Move,MoveFirst,MoveLast,MoveNext,MovePrevious。2.4 数据库访问与交换技术Web服务器是工作在操作系统中的应用软件系统,很多Web服务器还可以使用Server端的技术来提高服务器发送标准HTML网页的能力,比如SSL安全性等,Web浏览器技术用于访问Web Server的网页文件。目前Netscape和IE两种浏览器使用较广泛,其中又以IE浏览器较为普及。ASP作为Web数据库开发工具,具有灵活性、可扩充性和安全性等特点,使得Web数据库开发变得更为简单、灵活、方便。3 需求分析3.1 系统需求分析3.1.1 流程分析学校工作总体规划由教务人员在学生信息管理中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。每举行一次考试后由管理员对成绩进行录入,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询和对自己信息的修改。3.1.2 系统设计思想采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。系统就满足学校的需求,例如学生信息的录入、查询、更新等。 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。3.1.3 系统设计分析系统功能分析是在系统开发的总体任务的基础上完成的。本套高校学生成绩管理系统需要完成的功能如下:1.数据的录入,包括学生基本情况信息以及学生学科成绩的录入等;2.对学生基本信息的查询,包括学生基本情况以及学生学科成绩的查询等;3.对学生基本信息的修改,包括学生基本情况以及学生学科成绩的修改等;5.学生基本信息及成绩的打印等;6.学院专业、班级、课程的增加、删除、查看等;7.系统用户的管理、权限管理等;8.系统管理员密码的修改等;9.系统的相关设计等。3.1.4 系统功能分析系统管理员的主要功能是:实现教师添加、教师修改、教师删除、教师查询、学生的添加、学生的修改、学生的查询、学生成绩的录入、学生成绩的添加、学生成绩的修改、学生成绩的删除、留言的查询、留言的提交、留言的删除、留言的修改等基本功能。教师的主要功能是:实现学生的查询、学生成绩的查询、成绩的删除、成绩的修改、留言的查询、教师登陆密码的更改等基本功能。学生的主要功能是:实现学生自己的成绩查询、自己登录密码的修改、个人信息的查询和修改。3.1.5 数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。 3.2 数据流程分析3.2.1 E-R图设计E-R图是用来描述数据库的概念模型,它主要有三个部分组成:实体、关系、属性,本系统的实体有:系统管理员、教师、学生、成绩系统主要实体E-R图如图3-1所示:密码学期系统管理员教师学生用户名密码管理查询1m成绩得到mn课程名学分管理n管理用户名分数1nnnm 图3-1 E-R图学生学制学号家庭住址班级性别入学时间姓名专业学院密码出生日期学生信息实体图如图3-2所示: 图3-2学生信息实体图3.2.2 数据流图1.成绩管理系统顶级数据流描述的信息是:管理员,教师以及学生对该系统的操作和管理。顶级数据流程图如图3-3所示:教师操作信息操作信息学生成绩管理系统操作结果信息管 理 员操作结果信息操作结果信息学生用户命令结果反馈信息用户命令图3-3 学生成绩管理系统顶层数据流程图2.我们从顶级图中以学生作为第1层的数据流程图为例:首先系统管理员把学生的学号和密码输入数据库,学生通过登录进入学生成绩管理系统,当学生进入系统以后,数据库会提出本人的基本信息,这时学生可以修改自己的基本信息,查询自己的成绩。系统一级数据流程图如图3-4所示:学生基本信息显示查成绩申请单谢绝学号,密码检索成绩学生验证打印成绩信息图3-4 学生成绩管理系统1层数据流程3.2.3 数据字典1.学生:学生信息=学生Id+学生姓名+学生密码+学生出生日期+班级 Id学生Id=1|2|3|65536姓名=2汉字10密码=1varchar类型字符串25出生日期=datetime班级 Id=1|2|3|655362.教师:教师=教师Id+教师姓名+教师密码+课程Id教师Id=1|2|3|65536姓名=2汉字10密码=1varchar类型字符串25课程Id=1|2|3|655363.管理员:管理员=管理员Id+管理员姓名+管理员密码管理员Id=1|2|3|65536姓名=2汉字10密码=1varchar类型字符串504 系统设计4.1 系统总体设计本系统是学生成绩管理系统。本系统要实现的功能模块分为前台学生模块和后台管理模块,系统总体功能模块图如图4-1所示:学生管理系统前台后台教师模块管理员模块学生信息修改学生成绩查询学生成绩管理授课信息管理学生信息管理学生成绩管理学生成绩管理图4-1功能模块图前台功能模块图如图4-2所示:学生成绩管理系统前台管理学生信息管理学生意见留言修改学生个人基本信息查询学生个人成绩信息查询学生个人基本信息打印相关信息图4-2 前台功能模块图后台功能模块图分为教师模块和管理员模块,如图4-3和图4-4所示: 学生基本信息查询学生成绩管理系统后台管理删除授课信息学生成绩管理授课信息管理教师对学生管理修改学生成绩查询授课信息添加学生成绩删除学生成绩录入授课信息修改授课信息图4-3 后台功能模块图(一)管理员对学生管理学生成绩管理学生基本信息管理系统管理授课信息管理学生成绩管理系统后台管理录入学生成绩查询学生成绩修改学生成绩删除学生成绩查询学生基本信息修改学生基本信息录入学生基本信息删除学生基本信息系统维护系统设置修改授课信息录入授课信息查询授课信息删除授课信息图4-4 后台功能模块图(二)4.2 系统功能模块设计通过对系统的调研与分析,系统主要分为三个角色:学生,教师,系统管理者。1.学生信息模块该模块的主要功能是实现学生本人可以通过输入准确的学号和密码来查询,修改,打印该学生个人的基本信息,并可以在留言板上留言,对本网站提出建议。2.教师管理学生信息模块该模块的主要功能是实现教师对全校学生的信息管理操作,它包括在新的学期开始新的课程时录入课程名称以及相关内容,同时也可以输入学生已完成的各科课程成绩,对学生成绩和授课信息进行增加,删除,修改,查询等操作。3.系统管理员管理学生信息模块该模块的主要功能是实现管理员对全校学生的信息管理操作,新生到校时对新生的登记(只输入新增人数和起始学号即可);学生基本信息管理:对学生的基本信息进行修改、查询、删除;学生成绩管理:登记学生成绩、修改学生成绩、查看学生成绩、删除学生成绩。授课信息管理:对课程的基本信息进行修改、查询、删除。4.3 系统的流程图本系统是学生信息管理系统,所以该系统体现的是学生信息的查询,修改;教师,系统管理员对学生信息的管理;本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在数据库表中,本系统根据不同的用户而设置了不同的权限,用户根据自己的类型来选择登录的类型,输入正确密码后可以进入系统并且进行操作。所以下面的系统流程图分别以学生信息的前台查询和系统管理员的后台管理来说明的,如图4-5所示。FTFFT进入学生成绩管理系统的主页面学生登录学生管理后台登录学生信息查询,修改管理员页面教师页面学生管理结束结束学号,密码是否是管理员帐号,密码学生个人信息查询学生个人信息修改学生成绩信息查询学生意见留言授课信息管理学生成绩信息管理学生信息查询课程信息管理登记学生基本信息学生成绩信息管理学生个人信息管理学生信息打印帐号,密码FTT图4-5 系统流程图4.4 数据库的设计系统在操作,运行安全性方面以大型数据库安全措施为基础,在系统中分别设置功能权限和数据权限,通过这两类权限,交叉控制软件的使用,并使所有主要操作在软件中留有记录,使软件本身的安全措施颇具特色。服务器采用数据库管理系统平台SQL Server2000 提供的安全机制和保密性能7。数据库采用了Microsoft推出的SQL Server 2000数据库,使用这个数据库可以提高本系统的数据库安全性9。也可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 2000,以实现面向SQL Server 2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集9。根据学生信息管理系统的用户需求分析、设计要求和E-R图,可以得到数据库需求的表,现在已以下几个表来作为例子:(1)系统管理员表,它的作用是用来保存系统管理员的登录名称和登录密码;系统管理员(Admin)表:系统标号(id),登录名称(Adminname),登录密码(AdminPWD),如表4-1所示:表4-1 管理员信息表Admin列名数据类型长度允许空说明idint4系统自动标号Adminnamechar20用户名称AdminPWDchar20用户密码(2)学生信息表,它的作用是用来保存学生的基本信息;学生信息(Student)表:系统标号(id),学生姓名(stuname),性别(stusex),出生日期(stubirthday),籍贯(stuOrigin),民族(stuNational),身份证号码(sid),家庭住址(stuHomeaddress),学院(班级)(now_sch),入学时间(stuNowaddress),专业(stuzhuanye),电子邮箱(stuemail),学号(stuxuehao),如表4-2所示:表4-2 学生信息表Student列名数据类型长度允许空说明idInt4系统自动标号stunameVarchar20学生姓名stusexVarchar4学生性别stubirthdayVarchar8出生日期stuxuehaoVarchar10学号stuOriginVarchar20籍贯stuNationalVarchar10民族sidVarchar18身份证号码stumimaVarchar50密码stuhomezipVarchar6是邮政号码stuNowaddressVarchar50入学时间stuzhuanyeVarchar50专业stuemailVarchar30是电子邮箱Now_schVarchar20学院班级(3)学生成绩表,它的作用是用来保存学生考试后的成绩;学生成绩(Exam)表:系统标号(id),课程名称(ename),课程类型(ecate),考试时间(etime),考试成绩(eresult),考试学院(eunit),备注(eother),考试学生的身份证号码(sid),如表4-3所示:表4-3 学生成绩表exam列名数据类型长度允许空说明idint4系统自动标号enameVarchar10课程名称ecateVarchar10课程类型etimeDatetime8考试时间efenshuDatetime8所考分数exuefenDatetime8所得学分(4)学生照片表,它的作用是用来存储学生的照片;学生照片(Photo)表:系统标号(id),照片路径(path),照片上传时间(uploadtime),学生学号(Stsid),如表4-4所示:表4-4 学生照片表Photo列名数据类型长度允许空说明idint4系统自动标号StsidVarchar18学生学号pathVarchar10是路径uploadtimedatetime8是上传时间4.5 数据库连接 在ASP应用程序中对WEB服务器上的数据库进行访问,就要建立一个数据库链接,如果没有数据库链接,应用程序就无法知道在哪里找到数据库,也不知道如何连接到数据库,所以对于一个系统来说它的数据库是否能正确的链接是这个系统实现的重要环节,在这里介绍本系统链接的重要内容10。创建数据库连接主要分为三个步骤:创建Connection、指定连接字符串、打开数据库连接。下面的脚本说明如何使用Connection来连接数据库:由于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。在这个系统上一个分为三个角色:学生(可以在前台查询,修改),教师和管理员(在后台操作)。5 系统实现在这里主要举例说明系统的各项功能。5.1 学生登录当进入本系统的主页面时,可以点击公共查询按钮来登录,这时进入到学生信息查询的登录页面,输入正确的学生姓名和学生的身份证号码才可以登录成功,否则不能进入到查询的页面,如图5-1所示:本登录的代码如下:%Dim idname=Trim(Request(name)sid=Trim(Request(sid)SQL=Select * from Student where stuname= & name & and sid= & sid &Set conn = Server.CreateObject(ADODB.Connection)set rs=server.createobject(adodb.recordset)rs.open SQL,conn,1,1if rs.bof and rs.eof thenResponse.Write alert(数据库中没有相应的记录!);document.location.href(index.asp);Response.End()else% 图5-1 学生查询信息登录页面5.2 学生基本信息查询学生修改个人资料的界面如图5-2所示:图5-2 学生修改个人资料界面学生进入该菜单后,可以自己修改自己的个人资料,相关代码如下:%Dim stunamestuname=Trim(Request.Form(stuname)SQL=Select * from Student where id= & Request(id) set rs=server.createobject(adodb.recordset)rs.open SQL,conn,3,3if rs.eof and rs.bof thenResponse.Write alert(错误的ID!);history.go(-1);Response.End()elsers(stuname)=stunamers.Updaters.CloseSet rs=nothingResponse.Write alert(确认修改!);document.location.href(Stu_manage.asp);end ifend if %5.3 教师录入学生成绩 批量录入学生成绩界面如图5-3所示:图5-3 批量录入学生成绩界面教师进入该菜单后,为了尽量的简便录入过程,本套高校学生成绩管理系统采用批量录入思想,用户在录入前只需简单选择一下所想一次录入人数和想录入的起始学号,便可方便实现,其具体实现代码如下:系统通过读取文件manage_input_xscj.asp表单中提交的数据并调用文件do_inputxscj_form.asp来处理,其中文件do_inputxscj_form.asp内容如下:%dim cnt,xq,bj,kc,lx,xf,xueyuan,zhuanye,k,chengjicnt=session(count)xq=session(xq)bj=session(bj)kc=session(kc)lx=session(lx)xf=session(xf)xueyuan=session(xueyuan)zhuanye=session(zhuanye)xh=session(startxh)以下为学号处理xh_end=right(xh,4)取出学号的后四位,从右边取 记为学号的尾部xl=len(xh)-4 学号的头部长度xh_start=mid(xh,1,xl) xh_start=cstr(xh_start) 取出学号的头部转成字符xh_end=1&xh_end在转化尾部前,进行尾部的第一位加一个字符1,以防止化成数值后,将前部的0错误的去掉了!xh_end=cint(xh_end)-1 后四位转成数后计算 确保从起始学号开始for i=1 to cntxh_end=xh_end+1xh_end=cstr(xh_end)之后转回成字符xh_end=mid(xh_end,2,4) 去掉前面人为增加的字符1xuehao=xh_start&xh_end*以下为成绩栏的读取*读取成绩后,要看看是当前信息的成绩是否已经录入过了,已录入过了的,显示提示信息,其后的成绩录入失败!chengji=request(cj&i)if not isnumeric(chengji) thenresponse.writealert(学生成绩应为数字!);response.writejavascript:history.go(-1)response.end()end ifsql=select xsid,kcname,cj,xq,xf,lx from xscj where xsid=&xuehao& and kcname=&kc&and lx=&lx&and xq=&xq&and xf=&xf set rs=server.createobject(adodb.recordset)rs.open sql,conn,2,2if not rs.eof then 说明找到了和本次录入一样的信息 msg=学号为:&xuehao&学生的成绩已录入过了!该学生及其后学生成绩录入失败!xh=xuehao 再次进行第一次的操作xh_end=right(xh,4)取出学号的后四位,从右边取 记为学号的尾部xl=len(xh)-4 学号的头部长度xh_start=mid(xh,1,xl) xh_start=cstr(xh_start) 取出学号的头部转成字符xh_end=1&xh_end 在转化尾部前,进行尾部的第一位加一个字符1,以防止化成数值后,将前部的0错误的去掉了!nextmsg=成功录入&cnt&个学生的成绩! response.writealert(&msg&);response.writejavascript:history.go(-1)%现对上面的文件内容作点简单的说明:最前面的两行代码是包含语句,接着是声明一些变量,之后便是开始将存在ASP的内置对象 session中的各个值赋给相应变量;最终通过temprs.addnew命令将变量值一个个以记录的形式存入了数据库中。这里值得说明一下的是,这里用的读取值的方式是将存在session中的读出,(用户在网页中跳转其值在一定时间内是不会消失的)这里使用session完全是出于程序中的方便,因为跳转之前在manage_input_xscj.asp中有对session赋值的情况。一般采用request方式读取表单中提交的数据的情况是比较常见的,代码可以参照manage_input_xscj.asp中的读取表单中提交数据的方式。这里还要说明的是,以上代码中对学号的复杂处理,原因在于,系统的目的在于实现这样的功能:用户选择所想一次录入的人数和录入的起始学号,便可一次录入所选人数的成绩。为了实现这个功能,必须让学号可以自行的增加。而学号是字符型的,所以得转化成数字型的,这里可能又遇到一个问题是,学号一般都在7到8位甚至是10几位不等,转化成数字后再进行自增运算,数据太大了。为了一个简单的学号自增,这里的开销是相当大的。所以本系统在开发中采用的方法是:将学号一分为二,然后取学号后四位,将其转化成数字以减小转化后数字的大小,并让学号转化后的部分进行自增,之后再转化成字符,再与学号前面部分相连,最终实现学号的自增。同时我们还限制一次最多录入10人,防止学号自增量超出四位数。这是又出现了一个问题,如果所取学号的后四位中包含有零,在转化成数字并自增没有问题,可是自增后,再转化成字符并和前面学号划分之前的部分连接时,必然会出错,零会丢失的。(如:学号20038140002进行处理后,会变成20038143)所以取得学号后四位后,在转化成数字前,我们人为的在其前面加上一个字符“1”,之后转化中再去除,这便是对学号处理的全部,具体实现过程见代码,代码后有详细备注。5.4 成绩查询实现对于一套学生成绩管理系统来说,具有良好的查询方式无疑是相当重要的。本套高校学生成绩管理系统的设计目标就是要完成一种快速、便捷、有效的查询方式。大多数此类管理系统都包含有模糊查询的功能,本套系统在开发过程中对此功能作了进一步的改进。一般的模糊查询设计思想是这样的:系统把用户输入的内容作为匹配条件,去和系统数据库中相应字段中的内容一个个匹配,设法找出相应匹配的记录并作为查询的结果输出。这里惟一不方便,不智能化的地方便是,每次查询时都要指定相应的字段。为了最大限度的提高系统模糊查询能力,本套系统在设计过程中实现了让其自行判断用户所输入内容隶属表中哪个字段,以便让系统更快找出相匹配内容,这将使得系统更人性化了。以下是上述设计思想在本套系统设计中的具体实现过程。首先让我们看看本套系统的查询界面的设计,其截图如图5-4所示:图5-4 学生信息查询界面本系统在开发过程中把学生基本信息查询和学生的成绩查询合并在一起。用户查询时只需在“查询内容”中输入查询关键字并在“查询类型”中简单选择一下要查学生信息,还是学生成绩,然后回车或单击确认按钮便可。其具体实现代码(find. Asp )如 %session(fd)=trim(replace(request(fd),)sql=select xs_base_info.*, xscj.cj, xscj.kcname, xscj.xq, xscj.xf, xscj.lx FROM xs_base_info INNER JOIN xscj ON xs_base_info.xsid = xscj.xsidif isnumeric(session(fd) then 学号查询只可是数字,如查询内容为汉字,则跳过学号中找,避免错误!response.writeal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学4-6年级课堂如何收心班会8课件
- 《生物化学》课件-血细胞代谢(红细胞代谢和白细胞代谢)
- 幼儿园教师招聘面试备考策略分享
- 奔驰汽车驾驶技巧与安全知识
- 压力管道合规专员管道检测报告
- 在线支付平台选择与使用技巧
- 压力管道制造检验员供应商质量审核方案
- 心理成长情绪管理心理学书籍导读
- 店员激励与奖惩制度的设计与实施
- 历史长河中的伟大领袖演讲技巧
- 【MOOC】国际名酒知识与品鉴-暨南大学 中国大学慕课MOOC答案
- 五年级上册道法全册教案
- 食材配送服务方案投标方案【修订版】(技术标)
- 公司年会小品《老同学显摆大会》台词剧本手稿
- 中医病案学智慧树知到期末考试答案章节答案2024年安徽中医药大学
- 考点八:三角函数-【一轮复习讲义】2024年高考数学复习(解析版)
- 全球及中国无人驾驶环卫清扫车行业发展前景分析2024年
- JGT366-2012 外墙保温用锚栓
- 2020-2021学年冀教版数学八年级下册全套月考测试题及答案(共3套)
- 《公输》文言文知识ppt
- GB/T 36507-2023工业车辆使用、操作与维护安全规范
评论
0/150
提交评论