学生信息管理系统的设计与实现.docx
《学生信息管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统的设计与实现.docx(58页珍藏版)》请在冰豆网上搜索。
学生信息管理系统的设计与实现
第1章前言
随着校园规模的不断扩大,学生数目的急剧增多,学生的各种信息也成倍的增长。
面对此现象,学校的日常工作中需要一套学生信息管理系统,以便对学生的各方面的信息进行管理,减少不必要的资源浪费,从而达到精简机构,提高学校办事效率。
1.1设计目的
以前,学校的各种管理大都采用传统的管理方式,传统的管理方式繁琐。
但在网络技术逐渐渗入社会生活各个层面的今天,传统的管理方式也面临着变革,而网络管理则是一个很重要的方向。
随着计算机网络应用的迅猛发展,网络已经接入千家万户,特别是现在很多的高校和社会性的教育已经建立了多媒体计算机网络教室,基于Web技术的网络考试系统可以借助于遍布全球的Internet进行,网络学生信息管理既可以在本地进行,也可以在异地进行,大大拓展了管理的灵活性,从而利用现有的设备和技术等进行在线管理,不仅可以减轻教师和考生负担,提高效率,同时也提高了管理的质量。
学生信息可以根据题库中的内容即时生成,而且采用大量标准化管理,从而使用计算机对信息进行编辑,大大提高管理效率;还可以直接把信息送到数据库中,进行统计、排序等操作。
所以现在较好的管理方法为网络管理,学生信息内容放在服务器上,学生通过用户名、和口令进行登录,察看自己想获取的信息。
因此,采用网络管理方式将是以后学校管理的发展的趋势。
本系统分为两个部分,一是前台的网上信息模块,二是后台网上信息管理模块。
本人所学计算机网络技术专业,由于专业性所以学习了许多的计算机知识,其中就包括计算机语言的学习,比如:
ASP、VB、C语言等,还有和开发网站必不可少的数据库Access等。
因为有了这些知识,所以我开发了网上管理学生信息系统。
1.2设计的意义
可以方便广大学生及时、有利的进行不同地点的信息查找,同时也减轻了老师的负担,也提高管理的真正的目的,使之简单、合理的进行,让每个学生都能有一个良好的环境来对信息进行获得,是真正服务师生的系统。
第2章编程环境基础知识
2.1ASP入门知识
在ASP页面中添加服务器端脚本,服务器端脚本是一系列指令,用于向Web服务器连续发出命令。
若要在ASP页面中插入服务器端脚本,首先要设置所使用的脚本语言,有以下三种设置方法。
1.使用@LANGUAGE指令<%@LANGUAGE=ScriptingLanguage%>
其中ScriptingLanguage参数是一个字符串,指定用于解释脚本命令的脚本引擎,取值可以是“VBScript”或“JavaScript”,默认值为VBScript。
2.使用.使用Internet信息服务管理单元
3.在Windows2000中,可以使用Internet信息服务管理单元来为安装在Web服务器上的所有ASP动态网页设置默认的脚本语言。
操作步骤如下:
(1)选择“开始→程序→管理工具→Internet服务管理器”命令。
(2)在Internet信息服务管理单元窗口中,选择Web站点或应用程序的起始点目录。
(3)从“操作”菜单中选择“属性”命令,以打开目录的“ASP属性”对话框。
(4)单击“主目录”、“虚拟目录”或“目录”选项卡。
(5)单击“配置”按钮,单击“应用程序选项”选项卡,然后在“默认ASP语言”框中输入要用的主要脚本语言。
2.2VBScript介绍
脚本(Script)就是插入在HTML文件中的短程序,通常有两个脚本语言:
JavaScript和VBScript(MicrosoftVisualBasicScriptingEdition)。
JavaScript基于SUN公司的JAVA,而VBScript是基于Microsoft公司的VisualBasic,是以VisualBasic语言为基础提供编程功能,是VisualBasic语言的一个子集,是IIS的缺省源程序语言。
VBScript可以在HTML网页上操作、控制、处理对象。
在最初的设计中,VBScript是通过编写事件驱动的脚本来扩大客户端HTML功能,编写客户端脚本最大的优点就是由浏览器解析执行,不需要增大服务器的负担。
例如,我们可以在客户端进行输入数据有效性验证,防止浏览器将无效数据发送给服务器,这样,一方面可以减轻服务器的负担,防止服务器陷入处理大量无意义数据的工作中,同样,也可以减轻网络的阻塞;另一方面,也能够使客户减少等待时间,在验证的时候,浏览器能够立即做出响应,而如果在服务器上进行验证,那用户则不得不在浏览器前等待,服务器的处理和网络的传输都需要耗费一定的时间。
随着ASP技术的出现,VBScript将它的功能扩展到服务器上,VBScript开发的脚本可以在服务器上解析执行。
在服务器端脚本开发的过程中,使用VBScript则没有客户端脚本开发时的局限性,当客户请求页面时,页面将在服务器上执行,然后再反馈给浏览器,浏览器所获得的只是标准的HTML文件,这样就可以不受浏览器功能的限制。
VBScript和HTML页面完美地结合在一起,运用VBScript可以控制HTML页面,并对页面中某些事件做出响应,例如,前面所述的可以在页面的表单提交时进行数据有效性验证。
VBScript还提供了许多对象,运用这些对象,可以方便地进行脚本的编写,实现一些其他语言所无法实现的功能。
2.2.1VBScript代码的基本格式
一般的ASP程序都是将VBScript代码放在服务器端执行的,此时有两种方法:
方法一:
<%VBScript代码%>
方法二:
VBScript代码
有时为了需要,可能也会将VBScript代码放在客户端执行,此时的语法如下:
VBScript代码
这样用和ASP就没有什么关系了。
2.3ASP内置对象
ASP内含于PWS和IIS之中,我们通过ASP可以结合HTML网页、ASP指令和ActiveX组件建立动态、交互高效的Web服务器应用程序。
有了ASP就不必担心客户端浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样就减轻了客户端浏览器的负担。
与一般程序不同,ASP程序无须编译,程序控制部分使用VBScript、JavaScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。
当然,同其他编程语言一样,ASP程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写ASP程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。
当你安装ASP时,系统提供了两种脚本语言:
VBSrcipt和JavaScript,而VBscript则被作为系统默认的脚本语言。
ASP之所以简单实用,主要是因为它提供了功能强大的内部对象和内部组件。
其中常用的五大内部对象包括Request、Response、Session、Application、Server,
2.3.1Request
Request对象用于接收客户端在请求一个页面或传送一个表单时提供的所有信息,包括能够标识浏览器和用户的HTTP变量、Cookie信息以及附在URL后面的值(查询字符串或表单数据)
Request的功能是:
从客户端获得数据信息。
Request对象共有五种获取方法,分别是QueryString、Form、Cookies、ServerVariables、ClientCertificate。
语法:
Request[.数据集合∣属性∣.方法](变量或字符串)
例如:
<%
Request.Form(“user_name”)
Request.QueryString(“user_name”)
%>
2.3.2Response
ASP的内部对象Response用来控制送出给客户端的信息,Response对象可以使用的方法:
方法
说明
Write
Response对象中最常用的方法,用来送出信息给客户端
Redirect
引导客户端浏览器至新的Web页面,前面已经做过详细介绍
BinaryWrite
输出二进制信息
Clear
清除在缓冲区的所有HTML页面
语法:
Response.Clear
此时,Response对象的Buffer属性必须被设置为True,否则会报错
End
终止处理ASP程序,并返回当时的状况
语法:
Response.End
Flush
立刻送出缓冲区的HTML数据
语法:
Response.Flush
此时,Response对象的Buffer属性必须被设置为True,否则会报错
2.3.3Session
在上网时,利用超链接,可以很方便地从一个页面到另一个页面。
但是这样也带来一个问题,怎样记载客户的信息呢?
比如,在首页客户输入了自己的用户名和密码,在其他页面还需要使用该用户名,我们已经学习了两种方法。
方法一:
利用Request对象的QueryString方法一页一页传递过去。
方法二:
利用Cookies保存用户名。
还有一种简洁的方法,就是利用Session对象。
Session对象用来记载特定客户的信息。
即使该客户从一个页面跳转到另一个页面,该Session信息仍然存在,客户在该网站的任何一个页面都可以存取Session信息。
特别强调的是:
Session信息是对一个客户的,不同客户的信息用不同的Session对象记载。
2.3.4Application
Session对象可以记载特定客户的信息,与此相反的是,Application对象可以记载所有客户信息。
不同的客户必须访问不同的Session对象,但可以访问公共的Application对象。
(在Web站点中创建一个基于ASP的应用程序之后,便可以通过Application对象在该应用程序的所有用户之间共享信息)
Application对象是让所有客户一起使用的对象,通过该对象,所有客户都可以存取同一个Application对象。
Application对象的方法:
(1)Lock–––锁定Application对象,禁止其他客户修改Application对象的属性;
(2)Unlock–––解除锁定,允许其他客户修改Application对象的属性;
(3)Contents.Remove–––Application对象的Contents集合中删除一个项目;
(4)Contents.RemoveAll–––Application对象的Contents集合中删除所有项目;
(5)Contents–––含所有通过脚本命令添加到应用程序中的项目;
(6)StaticObjects–––含通过OBJECT标记创建的并给定了应用程序作用域的对象
2.3.5Server
Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务。
它提供了一些非常有用的属性和方法,主要用来创建COM对象和Scripting式、管理其他网页的执行.
语法为:
Server.方法︱属性(变量或字符串︱=整数)
Server对象的属性如表2-3-5所示。
属性
说明
ScriptTimeout
规定脚本文件最长执行时间,超过时间就停止执行脚本,其默认值为90秒
Server对象的方法如表2-3-6所示。
方法
说明
CreatObject
Server对象中最重要的方法,用于创建已注册到服务器的ActiveX组件、应用程序或脚本对象
HTMLEncode
将字符串转换成HTML格式输出
URLEncode
将字符串转换成URL编码输出
MapPath
将路径转化为物理路径
Execute
停止执行当前网页,转到新的网页执行,执行完毕后返回原网页,继续执行Execute方法后面的语句
Transfer
停止执行当前网页,转到新的网页执行。
和Execute不同的是,执行完毕后不返回原网页,而是停止执行过程
2.4ADO组件
ASP用DatabaseAccess(数据库访问)组件与数据库进行连接,DatabaseAccess(数据库访问)组件通过ActiveXDataObjects(ADO)访问存储在数据库或其他表格化数据结构中的信息。
ADO是ActiveXDataObject的缩写,称为ActiveX数据对象,是为OLEDB设计的应用编程接口,使用ADO对象实现在ASP页面中对数据库的访问。
在ASP页面中,OLEDB及ODBC无法直接使用,但是ADO却是一种可以在ASP中使用的标准对象,通过ADO就可以调用OLEDB提供者或者ODBC驱动程序来访问数据库。
ADO的主要对象有3个。
分别为Connection、Command和Recordset,3个对象的主要功能如下表2-4-1所示:
表2-4-1ADO对象及主要功能
对象
说明
Connection
用来建立与数据库的连接
Command
用来对数据库执行命令,如查询、填加、删除、修改记录等命令
Recordset
用来得到从数据库返回的记录集
2.4.1Connection
Connection对象又称连接对象,主要用来建立与数据库的连接。
只有建立连接后,才能利用Command和Recordset对象来对数据库进行各种操作。
使用Connection对象之前,首先要建立该对象。
在ADO中建立对象一般需要利用Server对象的CreatObject方法。
语法如下:
SetConnection对象=Server.CreatObject(“ADODB.Connection”)
建立对象后,就可以利用Connection对的Open方法来打开数据库并与之建立连接。
语法如下:
Connection对象.Open“参数1=参数1的值;参数2=参数2的值;…”
2.4.2Command
Command对象又称命令对象,是对数据库执行命令的对象,它可以执行对数据库查询、添加、删除、修改记录操作。
Command对象是介于Connection对象和Recordset对象之间的一个对象,它主要通过SQL指令,对数据库提出操作请求,把得到的结果返给Recordset对象。
Command对象依赖Connection对象,因为Command对象必须经过一个已经建立的Connection对象才能发出SQL指令。
建立Command对象,语法如下:
SetCommand对象=Server.CreatObject(“ADODB.Command”)
2.4.3Recordset
Recordset对象又称记录集对象,是最主要的对象。
当用Command对象或Connection对象执行查询命令后,就会得到一个记录集对象,该记录集包含满足条件的所有记录。
Recordset对象表示的是来自基本表或命令执行结果的记录全集。
使用Recordset对象可以操作来自提供程序的数据,通过该对象几乎可以对所有数据进行操作。
所有Recordset对象均使用记录(行)和字段(列)进行构造。
在任何情况下,该对象所指的当前记录均为集合内的单个记录。
如果记录集非空,打开记录集后,记录指针将指向第一条记录。
记录集有两个特殊的位置,Bof和Eof,Bof表示记录集的开头,位于第一条记录之前,Eof表示记录集的结尾,位于最后一条记录之后。
可以通过移动记录指针(比如rs.MoveNext,下一条)在记录集的各条记录中漫游,就可以利用ASP语句显示该记录的内容。
建立Recordset对象,主要是利用Connection对象或Command对象的Execute方法,其语法如下:
SetRecordset对象=Server.CreatObject(“ADODB.Recordset”)
然后,;利用Open方法打开一个数据库,语法是:
Recordset对象.Open[Surce],[ActiveConnection],[CursorType],[LockType],[Options]
1.Recordset对象属性
(1)CursorType属性
设置或返回当前记录集所使用的指针类型。
这个属性的取值如下:
1)adOpenForwardOnly 0 向下指针,为系统默认值,仅提供向下指针。
适用于仅需要向前移动记录的场合,以提高系统的响应速度。
直接用Cornmand或Connection对象的Execute方法创建的游标就属于该类游标
2)adOpenKeyset 1 键盘指针,在记录集中指针可以向上和向下移动,其他用户的修改和删除是可见的,但添加的数据是不可见的。
adOpenDynamic 2 动态指针,在记录集中指针可以向上和向下移动,所有的修改都会立即在其他客户端显示。
adOpenStatic 3 静态指针,在记录集中指针可以向上和向下移动,所有的修改都不会立即在其他客户端显示。
rs.CursorType=adOpenKeyset
<%=rs.CursorType%>
(2)CursorLocation属性
该属性设置使用的指针类型,也决定Recordset对象是否可以排序。
它的取值有两个,
1)adUseServer 2 使用服务器端的指针,默认设置。
若设置为该值,则Recordset对象将不能使用Sort属性进行排序
adUseClient 3 使用客户端的指针。
若设置为该值,则Recordset对象将能使用Sort属性进行排序
db.CursorLocation=adUseClient
(3)Sort属性
该属性指定数据集将按哪些字段进行升序或降序排序。
可以设置或返回一个用逗号分割的字段名排序字符串,其中的每个名称是Recordset中Field
rs.Sort=”排序字段名表”
<%=rs.Sort%>
(4)Source
该属性用于设置或返回数据库查询信息,可以是Command对象名、SQL语句或表名等。
语法为:
rs.Source=数据库查询信息
<%=rs.Source%>
(5)ActiveConnection
该属性用于设置或返回数据库连接信息,可以是Connection对象名或包含数据库连接信息的字符串。
语法为:
rs.ActiveConnection=数据库连接信息
(6)Bof
该属性用于判断当前记录指针是否在记录集的开头
(7)Eof
该属性用于判断当前记录指针是否在记录集的结尾
(8)RecordCount属性
该属性用于返回记录集中的记录总数
<%rs.RecordCount%>
注意:
使用该属性必须设置指针类型CursorType为1(键盘指针)或3(静态指针),否则返回错误。
(9)PageSize属性
该属性用于设置数据分页显示时每一页的记录数。
默认值为10。
语法为:
rs.PapeSize=整数
(10)PageCount属性
该属性用于返回数据分页显示时数据页的总数。
语法为:
rs.PageCount
如果Recordset对象不支持该属性,则返回值为-1,表明PageCount无法确定。
2.Recordset对象
(1)Open
该方法用来打开记录集。
语法为:
Recordset对象.Open[Source],[ActiveConnection],[CursorType],[LockType],[Options]
(2)Close方法用法
关闭Recordset对象。
rs.close
(3)AddNew方法
用于向数据库中添加记录。
添加方法为:
方法一、建立字段名数组和字段值数组,然后用AddNew方法添加记录。
方法二、在数据库中添加空白记录,然后设置字段对象的值
(4)Delete方法
删除当前记录
rs.delete
rs.update
(5)Update方法
更新数据库数据,即对所做的修改保存到数据库。
(6)CancelUpdate方法
取消对数据库数据的更新,即从缓冲区中除掉数据,取消更新。
2.5DreamweaverMX的概述
DreamweaverMX是Macromedia公司最新推出的网爷制作“三剑客(DreamweaverMX、FlashMX、FireworksMX)之一,是设计并且管理网络站点和网页的专业的HTML编辑器。
DreamweaverMX是一个所见即所得的网页编辑器,集功能强劲的可视化设计、应用开发环境以及代码编辑一身的工具,支持最新的DHTML和CSS标准。
它采用了多种先进技术,能够快速高效地创建极具表现力和动感效果的网页,使网页创作过程变得十分简单。
它用于对Web站点、Web应用程序进行设计、编码和开发,使开发人员和网页设计师能够快捷地创建代码规范的应用程序,开发环境精简而高效。
开发人员能够运用它与他们的服务器技术构建功能强大的网络应用程序衔接到用户的数据、网络服务体系上。
DreamweaverMX提供基于强大的规范管理来确保高质量的设计,设计环境提供CSS能迅速高效地开发代码简洁、专业规范的站点。
通过手工编码和使用可视化对象和行为来快速生成动态的、数据库驱动的WEB应用程序。
DreamweaverMX用于ColdFusion、ASP、ASP.NET、JSP和PHP的服务器代码库能够使用所有前沿的服务器端技术,以可视方式创建动态WEB站点,使用一种开发工具即可与多种站点和后端技术集成。
DreamweaverMX包含并扩展了MacromediaUltraDev中的所有功能,以帮助使用ASP、ASP.NET、ColdFusion标记语言(CFML)、JSP和PHP等服务器语言来生成由动态数据库支持的WEB应用程序。
DreamweaverMX也是开放式和可扩展的,赋予使用者最大的自由度和灵活性来选择今天或将来最适合自己工作的技术。
第3章系统分析
学生是一个庞大的群体,相关的信息比较多,人工管理起来较复杂。
所以各种各样的学生信息管理系统相应而生,这里运用ADO数据库对象访问模型来建立一个简单的学生信息管理系统。
要开发的学生信息系统主界面如下图:
从界面可以看到,该学生信息管理系统主要提供包括数据添加、浏览修改和删除、查询、打印报表、统计和用户管理5个模块。
(1)数据添加:
用于添加学生的一些基本信息。
这里包括学籍信息、课程信息和成绩信息,从而为进行学生信息基本操作提供了数据基础。
(2)浏览修改和删除:
可以对学生的信息首先浏览,然后可以对信息进行修改、删除操作。
(3)查询:
提供简单查询和复杂查询。
(4)打印报表:
该系统中一个很重要的部分。
这里分别对学籍信息、成绩信息和不及格学生的信息生成了相应的报表