WEB课程设计报告
课程设计题目:基于B/S的学生学籍管理系统的
设计与实现
姓名:
专业:
班级:
指导老师:
2012年5月5日
摘要
随着Internet/Intranet的快速发展,数据库技术的进一步成熟,建立能业务化工作的学生学籍管理系统是当前高校管理部门的迫切要求。文章参考了目前国内高校学生管理的发展情况及管理模式,借鉴了目前国内先进的大型管理系统,对高校学生学籍管理进行了总体设计,建设基于Web的运行平台,实现方便快捷的前端Web登录和查询,采用了SQl 作为后台数据库,采用ASP及ADO技术对数据库进行操作及维护。基于B/S结构的学生学籍管理系统(以下简称SSMS)是利用ASP技术和Web数据库相结合实现的,它具有数据输入、查询修改、补考处理、毕业处理和报表输出等功能。它的成功实现对提高高校的学生管理水平具有非常重要的意义。
关键词:B/S结构Web数据库ASP 对象三级客户机/服务器体系
目录
1引言 (1)
2系统分析 (1)
2.1需求分析 (1)
2.1.1开发目的 (1)
2.1.2功能需求 (2)
2.1.3.总体框架 (2)
2.2功能分析 (2)
2.3系统特点 (3)
3相关技术简介 (4)
3.1系统实现的主要技术 (4)
3.2Web数据库工作原理 (4)
3.3ASP的工作原理 (5)
3.4ODBC简介 (6)
4详细设计 (6)
4.1ASP技术访问学生成绩数据库 (6)
4.2通过ASP与学生成绩数据库建立连接 (6)
4.3如何向数据库中添加、修改和删除数据。 (7)
4.3.1向数据库中添加新数据 (7)
4.3.2修改数据库中已存在的数据 (9)
4.3.3删除数据库中的数据 (9)
4.4ADO访问学生学籍管理系统的设计 (10)
4.4.1 用SOL语句对成绩库操作 (10)
4.4.2 ADO存取数据库时如何分页显示 (10)
4.4.3 学生成绩数据库查询 (11)
5系统运行与实现 (12)
5.1系统开发平台 (12)
5.2后台数据库的选取 (13)
5.3系统结构 (13)
5.4系统流程图 (13)
6 心得体会 (15)
参考文献 (16)
1引言
20世纪90年代以来,全球信息技术发展明显加快。网络的普及应用大大推动了计算机应用的发展。从国防军事、交通运输、财政金融、科学教育等大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都采用了计算机网络管理。网络发展已经超越了国界,跨越了地域,使地球上的人们似乎生活在一个“地球村”里。在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核心。于是,基于Web的数据库也就应运而生了。
随着Internet/Intranet技术的发展,开发基于Web的应用程序势在必行,数据库技术需要和Web技术相结合,才有更为广阔的前景。ASP作为微软推出的新兴Web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用,同时浏览器/服务器模式的数据库体系也正逐渐成为数据库结构的主流。
Internet的普及和应用使人们的现代生活方式发生了深刻的变化,学校总是处于接受新知识的最前沿地带,于是校园网的应用和管理系统的开发也正蓬勃发展并发挥着巨大的作用,远程教育、网上查询成绩、网上招生等等对于人们己不再陌生。
然而,目前很多高校的学生管理仍然采用的是传统的管理模式。这种传统的管理模式既浪费人力资源,又不利于提高工作效率。于是,开发一套学生学籍管理系统已经迫在眉睫。基于上述原因,我设计并开发了这套学生学籍管理系统。
2系统分析
学生学籍管理系统是基于Web应用的校园应用方案,提供了学校信息化管理需要的灵活性,使学生、教师、家长和主管部门之间能快速、及时地进行沟通,全面实现校园的师生管理、教学管理、考试管理、学籍管理等,是高校实施信息化管理的强力支撑。
2.1需求分析
2.1.1开发目的
随着计算机信息技术、网络通讯等高新技术的发展,对高校学生管理提出了更高的要求,要求学生管理系统进一步发展成为学生管理信息系统。这样不仅可以使教师从烦琐的事务中解脱出来,而且还能提供面向学生的网上查询成绩、专家咨询服务等快捷、灵活、方便的智能服务。
学生学籍管理系统旨在使校园教学、教务管理、学生管理信息网络化,解决已往信息传递不方便、不快捷等问题,通过本系统可实现学生学籍管理网络化,方便教师网上登录成绩、学生网上查询成绩。应用表明,使用该系统可以大大提高工作效率,节省人力资源,提高高校行政管理的管理水平,有利于推动高校学生管理的“无纸化办公”进程。
2.1.2功能需求
论文分析了Web 数据库及ASP 技术在学生学籍管理系统中的应用,本文的功能需求主要分以下几个方面来讨论:
(1)重点讨论了B/S 结构的工作原理及其特点,分析了实现Web 数据库的不同方法,客观地分析了它们的优缺点。讨论结果是:ASP 技术无论在操作的可行性、方便性还是性能上都是一种实现Web 数据库的最好方法。
(2)探讨了如何利用ASP 技术向数据库中添加、修改和删除数据。
(3)重点讨论了如何利用数据库访问组件ADO 技术实现学生成绩数据库与服务器的连接,并利用其属性和方法完成对成绩库的访问。
(4)详尽介绍了学生学籍管理系统的总体框架、工作流程和系统使用的主要技术。
2.1.
3.总体框架
采用Browser/Server 三层体系结构及符合国际标准的TCP/IP 网络协议,采用模块化结构,可以适应不同规模用户的需要。 针对高校学生管理的实际情况,设计其系统的总体框架(如图1所示)。
图1 系统总体结构
2.2功能分析
系统的功能主要体现在各模块上,系统各功能模块如下:
(1)“输入成绩”:主要包括“新生注册”、“输入课程名称”、“修改课程名称”、“输入成绩”和“退出系统”等。可实现学生学籍、应修课程及应得学分、己修课程及己得学分的登记和归档工作,并方便学生对所选修的课程名称和成绩实现网上查询、实现网上资源的充分共享。 学生学籍管理系统
输入成绩 查询修改 补考处理 毕业处理 报表输出 系统帮助
新生注册
输入课程
修改成绩
输入成绩
退出系统 修改档案 修改成绩 生成补考库,补考成绩汇总,补考通知单,补考准考
证,补考成
绩录入 录入毕业去向,确定毕业结业,毕业生名册,毕业生卡片 学生名册,计分册 成绩表 系统帮助 关于…… 退出系统
(2)“查询修改”:主要包括“修改档案”和“修改成绩”两个相对独立的模块,可用于档案和成绩的修改。
(3)“补考处理”:包括“生成补考库”、“补考成绩汇总”、“补考通知单”、“补考准考证”和“补考成绩录入”六个功能模块。该子系统是用户获取补考信息和补考成绩的有利途径。(4)“毕业处理”:包括“录入毕业去向”、“确定毕业结业”、“毕业生名册”和“毕业生卡片”等。可对毕业生的详细信息进行查询,并对毕业生提供通讯录、便签等方便。
(5)“报表输出”:包括“学生名册”、“记分册”和“成绩表”等功能模块。该子系统可用于获取学生成绩。
(6)“系统帮助”:包括“系统帮助”、“关于……”和“退出系统”等。用户能够查看该系统的相关信息。
由于系统采用模块化、结构化设计,各模块在信息上互相沟通,功能上互相独立,使系统的网络扩充、功能增加、业务扩展更容易实现。
2.3系统特点
本系统的主要功能是通过网络实现现代化高校学生管理,提高办公效率。
(1)先进可靠的系统平台和体系结构
系统采用目前比较流行的Internet体系结构和瘦客户机/中间件/服务器体系(B/S)结构。B/S体系结构前台只负责界面表示,实现了瘦客户机的构想,大大地减轻了维护工作量,程序的修改只限于数据库服务器端及应用程序服务器端,客户端通过浏览器访问应用程序服务器,界面统一简单,软件层次较少,维护容易。
(2)系统提供的智能性
系统中的网络服务器采用了高级系统体系结构以及扩展数据输出(EDO)内存子系统,因而具有强大的工作性能和最大的工/i0带宽。
(3)友好的用户界面及操作的灵活性
系统提供类浏览器界面,便于用户实现各种搜索、查询操作。在系统的操作过程中体现了简单、方便、灵活的特点。
(4)值得信赖的可靠性和安全性
系统可自动检测输入数据的准确性和完整性。当出现故障或事故造成系统中断后,系统对数据的完整性具有检测、保护和恢复能力。
(5)开放性及可扩充性
软件设计采用标准化接口,硬件平台采用标准网络接口,采用开放式数据库互连接口(ODBC),使本系统与其它应用系统容易实现互连。
(6)先进的Internet支持
系统采用先进的计算机网络、数据库技术、消息传递与工作流技术Internet技术、安全与容错技术相结合。
本系统为高校跨入信息化教学时代提供技术支撑平台,使校内应用(如成绩管理、学籍管理、毕业生信息管理等)系统从单机操作、C/S结构操作上升到基于Web应用的B/S结构体系中来。系统提供丰富的服务以满足学校需要。
3相关技术简介
3.1系统实现的主要技术
1.采用B/S结构
基于B/S结构的学生学籍管理系统,客户端是通用浏览器IE业务功能由独立的应用服务器处理,Web服务器成为应用服务器处理的标准配置;数据处理仍由数据库服务器完成,不需要象C/S结构那样安装不同的客户端应用程序,B/S结构的功能都在Web服务器上实现,开发和维护工作简单易行。这种结构可实现网上查询的基本功能,如用户注册、查询、修改信息和报表输出等。
2. ODBC技术
通过访问数据库的方式在本系统中得到应用,它通过驱动程序(driver)来提供数据库的独立性,驱动程序与具体数据库有关,它是一个用以支持ODBC函数调用的模块(通常是一个d11),应用程序通过调用驱动程序所支持的函数来操作数据库,若想使应用程序操作不同类型的数据库,就要动态地链接到不同的驱动程序上。ODBC具有良好的数据库独立性,通过ODBC可以使得数据库的更改变得非常容易,因为对应用程序来说只需改换一下驱动程序。
3. ASP技术
ASP (Active Server Page)即活动服务器页面,它是由Microsoft推出的用于Web开发的技术。ASP不是一种单纯的技术,应该说它是一种服务器脚本环境。在ASP环境下,开发者可以通过创建服务器脚本,编写强大的Web应用程序,实现动态交互式Web页面:ASP 脚本还可以和HTML语言、Java小程序等混合在一起书写,这大大扩充了ASP程序的功能,降低了ASP应用的难度。
4. ADO对象访问数据库
ADO是一个ASP内置的ActiveX服务器组件用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。其具有运行速度快、占用内存小等优点。本系统中有关成绩查询、记录分页浏览等功能都是应用了ADO的对象、属性和方法来实现的。
3.2Web数据库工作原理
Web数据库基于C/S结构,客户端是浏览器,服务器端是Web服务器。浏览器和Web 服务器通过HTTP交换信息。Web上的大多数交互均可看成请求和响应,即浏览器向Web 服务器发出请求(一般是要求显示一个用户想看的网页),而Web服务器则向浏览器返回响应(通常是一个HTML页面或图像等)。
基于Web的数据库采用3层的客户端/服务器结构:第一层是浏览器,第二层是Web 服务器,第三层包括一些应用程序及相关的数据库。浏览器作为用户输入查询条件和显示查询结果的交互界面,用户可以通过填写表单或输入关键字的方式来与Web交互。当用户单击表单上的按钮时,表单中的数据便被发送到Web服务器。Web服务器负责用户输入信息的接收,它将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据。最后,
Web 服务器将返回结果插入到HTML 页面,传送至浏览器以响应用户。如图2所示。
图2 Web 数据库工作原理
3.3ASP 的工作原理
ASP 访问数据库的工作原理如下:
ASP 脚本实际上是一种服务器端的解释脚本,其脚本包含在以.asp 为后缀的文件中。当在浏览器中访问以后缀名为.asp 的ASP 主页时,网络服务器响应HTTP 请求并调用ASP 引擎(asp, dll)执行该文件并解释执行其中的任何脚本(VBScript 或JavaScript),若脚本中有访问数据库请求,立刻通过ODBC 与相应的后台数据库相连,由数据库访问组件ADO(ActiveX Data Objects)完成操作,最后,ASP 根据访问数据库的结果集生成包含有数据查询结果的HTML 语言的主页返回给前端用户。 前端浏览器
Web Server(ASP) ADO 访问 ODBC 后台数据库
图3 ASP 访问Web 数据库的工作原理
由于ASP 在服务器端运行,运行结果以HTML 主页形式返回用户浏览器,也就是说,用户在前端浏览器看到的仅仅是ASP 页的执行结果所生成的页,而ASP 的页本身的内容用户在前端浏览器是看不到的,因而ASP 源程序不会泄密,增加了系统的安全保密性。此外,ASP 是面向对象的脚本环境,用户可自行增加ActiveX 组件来扩充其功能,拓展应用范围。
浏览器
WWW 服务器 外部程序 Database
请求 请求 请求
响应 响应 响应
3.4ODBC简介
ASP主页
ADO(ActiveX Data Objects)
OLEDB
ODBC Access SQL 其它数据库
图4 ADO访问数据库
ODBC(Open Database Connectivity)即为开放数据库系统互连,它是微软开发的一套用于开发数据库系统应用程序接口规范。ODBC规范为应用程序提供了一套高层调用接口规范和基于动态链接库的运行支持环境。使用ODBC开发数据库的应用程序时,只需要应用程序调用标准的ODBC函数和SQL语句,而数据库的底层操作由各个数据库的ODBC驱动程序来完成。所以,使用ODBC接口的数据库应用程序具有很好的适应和可移植性,并且具备同时访问多种数据库的能力,彻底地扔掉了传统数据库应用程序的缺陷。ODBC驱动程序类似于Windows下面的硬件驱动程序,对于使用者来说,驱动程序掩盖了不同的硬件间的差异。
4详细设计
4.1ASP技术访问学生成绩数据库
ASP是微软公司推出的最新网络应用程序开发技术,是服务器端脚本编写环境,使用它可以创建和运行动态、交互的应用程序,可以组合HTML页,脚本命令和ActiveX组件以创建交互的网络页和基于网络的功能强大的应用程序。目前ASP己成为开发动态网站和网络数据库的主要技术之一。
4.2通过ASP与学生成绩数据库建立连接
因为需要操作服务器端的数据库,所以必须在数据库与服务器之间建立连接,建立连接(Connection)是数据库存取的开始。
1.建立Corulection对象
本文使用ASP的内建对象方法Server.Createobject建立与数据库的连接。ADODB是ASP内置的数据库存取组件。
<%Set cn=Server.Create0bject("ADODB. Connection“)%>
这样就创建了一个名为cn的Connection对象实例,通过这个对象实例,就可使用Connection对象提供的。pen方法打开与数据库的连接。
2.使用。pen方法打开与成绩数据库的连接(成绩数据库stxf. dbf)o
driver参数语法:
driver={1licrosoft Access Driver(*.mdb)}
告诉系统使用ACCESS数据库的ODBC驱动处理。
DBQ用来指定打开的数据库文件名,它必须是完整的路径。例如
"c:\inetpub\wwwroot\data\stxf.dbf",本文使用Server.MapPath的方法取得数据库的完整路径。
LID指定用户名
PWD指定用户密码
对于ACCESS数据库,可以直接在ASP中指定连接,其相应的ASP程序为:
<%
cn. open“driver={Microsoft Access Driver(*.mdb){;
DBQ=数据库文件名:
UID=用户名:
PWD=用户密码”
%〉
说明:Connection仅仅是建立了与数据库间的连接,要存取数据还应该再建立Recordset 对象。
Set rs=Server. Create0bject ())ADODB. Recordset)))
建立Recordset对象rs。
3.关闭Connection对象
cn. close
4.将Connec七ion对象从内存中删除,以释放资源
关闭Connec-t ion对象就切断了Connection对象与数据库之间的连接,但是此对象还是存在于内存中。如果要将创建的Connection对象从内存中移出,需要用语句set cn=nothing
4.3如何向数据库中添加、修改和删除数据。
4.3.1向数据库中添加新数据
图5向数据库添加数据
使用Recordset对象的Addnew方法,例stul. aspo
<%@LANGUAGE=VBScript%>
(!一#include file="AdoAccess. asp"一>
(!一#include file="adovbs.inc"一>
<%?stul.as p
1.使用Recordset对象的AddNew方法添加新数据
Dim StrSQL, rsTes七
Set rsTest二server.Create0bject("ADODB.Recordset})
rsTest.CursorType=adOpenKeySet?adOpenDynamic
,没有下面这一句,将不允许更新数据库,为什么?
rsTest.LockType=adLockOptimisis
rsTest. Open…成绩数据库”,Cnn,,,adCmdTable
rsTes七.AddNew
rsT est(”姓名”)二”wu' feng"
rsTes七(“成绩…)二…87"
rsTes七.Update
%>
<%
2.将得到的记录集显示到浏览器上,将数据库指针移到表中的第一条记录If Not rsTest. EOF<>0 Then
Response. Write“表中现有[…&rsTest.RecordCount&”]条数据“&
"
"
rsTest.MoveFirst
End If
Do While Not rsTest.EOF
Response. Wri te rsTest(0) &”&rsTest (1)&?“&rsTest (2)&
H&"
"
rsTest.MoveNext
Loop
3.释放内存资源
Cnn. close
Set rsTest=Nothing:Set Cnn二Nothing
%>
4.3.2修改数据库中已存在的数据
使用Recordset对象的Update方法。程序stu2. asp(类似例程stul. asp)
?使用Recordset对象的Update方法修改数据
Dim StrSQL, rsTest
Set rsTest=server.Create0bject("ADODB.Recordset")
rsTest.LockType=adLockOptimistic
StrSQL = "SELECT姓氏,名字,出生日期FROM学生WHERE出生日期=#83-03-04#"
rsTest.Open StrSQL, Cnn,,,adCmdText rsTest”名字“)=“李玲“
rsTest.Lpdate
分析:
1. SQL语句中,数据库是SQL Server数据库,日期要用?83 -03-04?括起来。
2. rsTest. Open StrSQL, Cnn, , , adCmdText中,由于第一个参数是SQL语句,所以第五个参数为adCmdText,其实,第五个参数完全可以省略,但是加上它会使脚本的执行效率更高。
4.3.3删除数据库中的数据
使用Recordset对象的Delete方法。
,使用Recordset对象的Delete方法删除数据
Dim StrSQL, rsTest
Set rsTest=server. Create06 ject ("ADODB. Recordset")
rsTest.LockType=adLockOptimistic
StrSQL="SELECT*FROM学生姓名WHERE成绩二?85'”
rsTest.Open StrSQL, Cnn,,,adCmdText
While V ot rsTest.EOF
rsTest.Delete
rsTest.MoveNext
Wend
若记录集中有多条记录符合条件,则必须使用循环,否则,Delete方法只删除当前记录,即第一条符合条件的记录。
这里介绍了维护数据的三种方法,一般而言,尽量使用SQL语句解决问题,简单明了;而使用Recordset对象的最大好处是可以利用其大量的属性和丰富的游标类型,有更多的选择,但也给使用带来一些难题。
4.4ADO访问学生学籍管理系统的设计
ADO (ActiveX Data Object即ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component),ADI〕通过在Web服务器上设定ODBC,可建立与多种数据库如:SQL Server,Oracle,Informix,Access}VFP等建立连接。可以把它与ASP结合起来建立提供数据库信息的网页内容在网页画面执行SQL命令用户在浏览器页面中输入更新和删除Web服务器信息,由服务器对Web数据库进行相应的操作。ADO的好处在于易于使用,高速,低内存开销,小磁盘空间占用。它为用户提供了连接任何兼容ODBC的数据库以及到建全功能数据库应用程序的能力。
要执行ADO,服务器端须安装WindowsMT Server和Internet Information Server(简称IIS),而客户端只要有IE浏览器即可。Web数据库访问的五种方法的实现大致可分为两类,一类是以Web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库进行操作二另一类是把应用程序和数据库下载到客户端,在客户端对数据库进行访问。
ADO中可用VBScript. JavaScript语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出;ADO中使用RecordSets对象对数据库进行操作;可以连接多种支持ODBC的数据库。
4.4.1 用SOL语句对成绩库操作
除了Recordset对象的Addnew,Update和Delete方法可以增加、更新和删除记录外,还可以用SQL语句中的Insert, Update和Delete指令去完成该操作。如在SSMS中,可用如下语句来插入新的记录。
Insert
Values(…”&request.form(“id")&”?,”?&request.form(“name")&”?,”
&request. form(“computer")&,,,…)
这种表示方法比起对象的方法更直观。若用Execute方法读取符合SQL语句的记录并存放在Recordse七对象实例时,将不再调用Recordset对象的Open方法,而且用这个方法返回的Recordset对象实例的指针只能向下移动,若希望指针能够上下移动,则必须使用Recordset对象的Open方法来读取表的记录。
4.4.2 ADO存取数据库时如何分页显示
如何将数据库的查询结果分页显示呢?方法主要有两种:
1、将数据库中所有符合查询条件的记录一次性的都读入Recordset中,存放在内存中,然后通过ADO的Recordset对象所提供的几个专门支持分页处理的属性:PageSize(页大小)、PageCount(页数目)以及AbsolutePage(绝对页)来管理分页处理。
2、根据客户的指示,每次分别从符合查询条件的记录中将规定数目的记录数读取出来并显示。
两者的主要差别在于前者是一次性将所有记录都读入内存,然后再根据指示来依次做判断、分析,从而达到分页显示的效果;而后者是先根据指示做出判断,并将规定数目的符合查询条件的记录读入内存,从而直接达到分页显示的功能。
显然,当数据库中的记录数达到上万或更多时,第一种方法的执行效率将明显低于第二种方法,因为当每一个客户查询页面时都要将所有符合条件的记录存放在服务器内存
中,然后再进行分页等处理。如果同时有超过100个的客户在线查询,那么ASP应用程序的执行效率将大受影响。但是,当服务器上数据库的记录数以及同时在线的人数并不是很多时,两者在执行效率上是相差无几的,此时一般就采用第一种方法,因为第一种方法的ASP程序编写相对第二种方法要简单明了得多。
进行ADO存取数据库时的分页显示,其实就是对Recordset的记录进行操作。所以必须先了解Reordset对象的属性和方法:
BOF属性:目前指标指到RecordSet的第一笔。
EOF属性:目前指标指到RecordSet的最后一笔。
Move方法:移动指针到RecordSet中的某一条记录。
AbsolutePage属性:设定当前记录的位置是位于哪一页
AbsolutePosition属性:目前指标在RecordSet中的位置。
PageCount属性:显示Recordset对象包括多少“页”的数据。
PageSize属性:显示Recordset对象每一页显示的记录数。
RecordCount属性:显示Recordset对象记录的总数。
4.4.3 学生成绩数据库查询
主页面为学生成绩查询,对应程序为stu. asp。查询结果以两种方式显示,一是显示主要信息—学生成绩信息查询结果列表,对应程序为stulb.asp;一是显示全部信息—学生成绩信息查询结果,对应程序为stuxq. asp。如果查询条件不能满足时,还将显示一个提示页面,告诉用户不存在满足条件的结果,由程序stuts. asp完成。
根据客户提供的数据库和要求查询的各项内容建立查询、查询结果、查询结果列表页面,并给出一个简单的提示界面,告诉用户不存在满足条件的结果,请重新查询。
下面处理编码数据库zd. dbf中的内容。?性别”、“出生地“选项的内容都是从zd. dbf数据库中提取出来的。因为有的选项内容很多,虽然也可用
<%Set Conn=Server.CreatObject("ADODB.Connection")
Conn.Open "STU"
Set RS =Conn. Execute("Select BC, MC From zd Where BC Like "se%"")
Response. Write"
Response. Write"
Rs. MoveNext
Loop
Response. Write ""
RS. Coke
Conn. Colse
%>
其中,zd. dbf包含两个字段MC, BC, MC表示待编码项,如男、女,BC表示编码,如性别编码的前两位为…seHse,男用“sel“表示,女用?set“表示。
数据库查询中最重要的是如何取得查询条件。本例中要查询的项可以分为两类:一类是输入的text类的查询条件,另一类是从下拉框中选出来的项,在处理时要区别对待。text
类型的查询条件很好处理,例如姓名,笔者输入的内容命名为”xlnHxm,如果输入的查询项不为空时就增加一个查询条件"NAME=Request. Form("xm")”即可。下拉框的处理较复杂,当下拉框选中一项时,例如性别选中男,下拉框中输入的是…sel"(但反映在数据库中时为“SEX=1",因为数据库中输入字典中带编码的项时只输入编码),就是要查询"SEX=sel”的项。处理时要把“sel…中的…1…提取出来,用一个函数mid即可,查询条件为"SEX=mid ("sel", 3, 1)",即从数据库中查找SEX=1的项,并把所有满足条件的项不重复地列举出来。
查询结果显示很容易实现,只须把查询结果的每条记录按列表的方式显示出来即可,但在显示查询结果时要显示编码对应的汉字,就是到字典中去找编码为"se"&"1"的项所对应的编码值,程序如下:
姓名 | 档案号 | ……… |
<%=RS ("name") %> | <%=RS ("dang"')%> |
其中,Func ("se"&RS ("sex") , STU)是个函数,实现从数据源中取得编码所对应的汉字的功能。
5系统运行与实现
随着Internet的普及,基于互联网的高校学生学籍管理受到广泛关注并得以迅速发展。学生学籍管理不仅是把学生成绩在网上公布,更多的是学生与学生,教师与学生之间的沟通和交流;另外,成绩查询、学习咨询等,都应该在网上得到很好的支持。所有这些都需要一些专用工具,而现有的Internet没有提供这些工具,因此需要开发一套学生学籍管理系统。
5.1系统开发平台
1.硬件环境
服务器:奔腾3处理器,内存为256MB,硬盘容量定为20GB,配备UPS。
客户机:CPU 为奔腾以上,内存32MB ,硬盘2. 1GB 以上。
网络配置:HUB 集线器和相关网卡、网线等。
2.软件环境
开发平台:Windows2000服务器版,FrontPage2000, VFP2000等。
发布平台:Windows2000服务器版,IE4. 0以上版本。
5.2后台数据库的选取
现在专门用于C/S 方式的数据库有许多,如Oracle, VFP2000 SQLServer7. 0为服务器数据库。本系统选择的是SQL2000作为后台数据库。
5.3系统结构
本系统采用B/S 模式,客户端只需安装一个IE 浏览器,用户界面简单,升级方便,同时,对客户机要求不高,达到了瘦客户机的要求,降低了成本。
5.4系统流程图
学生学籍管理系统主要由登录、查询、修改和打印报表四大模块组成。系统流程如图。
图6系统流程图
主 页
新生 成功 正确 正确 需打印吗?
登陆
识别身份 输入成绩 注册 查询 输入学生信息 显示 提交修改 姓名和密码
修改成绩 报表输出
打印成绩表 返回 Y
N
N N N
Y
Y
Y Y
N
1.数据库设计与ODBC设置
(1)数据库的建立
要实现对学生学籍管理系统的访问,首先需要一个完美的数据库,在此例子中,建立了一个名为stu. mbd的数据库,在其中存储了学生的学号、姓名、所修课程名称和各门功课的成绩。
(2)创建和配置ODBC数据源
通过ODBC规范为应用程序提供一套高层接口规范和基于动态连接的运行支持环境。使用ODBC开发数据库的应用程序时,只需要应用程序调用标准的ODBC函数和SQL语句,而数据库的底层操作由各个数据库的ODBC驱动程序来完成。所以,使用ODBC接口的数据库应用程序具有很好的适应性和可移植性,并且具备同时访问多种数据库的能力,彻底地扔掉了传统数据库应用程序的缺陷。
2.数据库访问的实现
该系统采用ADO组件来访问SQLServer数据库,ADO可以使数据提供者通过ODBC 连接到数据源。因此,首先要创建和配置ODBC数据源,同时要使创建的数据源为系统数据源。具体ODBC配置不再详述。
3.注册功能的实现
注册使用户的个人信息输入数据库,并使用户在学生学籍管理系统中有一个个人的标识号(ID)和密码。注册成功后,将设置一个Session变量来标识此用户已经通过了注册,取得了合法的学籍。如session C "flag" ) =true。
在ASP页面内完成注册功能必须获得用户信息,可通过在页面上放置表单(Form),让页面与用户进行交互,通过表单的提交动作,可把数据提交给服务器,服务器再把数据传给程序。
表单向服务器提交数据有两种方法:Post和Get。对于Get方法提交的数据,WWW服务器将把数据放在环境QueryString中。对于Post方法,数据将被发送到WWW服务器的Stdout中。同时,利用Request的Form和Querystring方法,可分别得到Post和Get方法提交的数据。但是,Post方法向服务器发送表单数据时,不象Get方法,没有字符串附加到URL中,使得传送数据所需的时间比Get方法所用时间要少。因此,这里采用了Post 方法来提交用户注册信息到服务器。HTML标记如下: