基于ASP的学生团员档案管理系统.docx

上传人:b****3 文档编号:5199739 上传时间:2022-12-13 格式:DOCX 页数:9 大小:168.79KB
下载 相关 举报
基于ASP的学生团员档案管理系统.docx_第1页
第1页 / 共9页
基于ASP的学生团员档案管理系统.docx_第2页
第2页 / 共9页
基于ASP的学生团员档案管理系统.docx_第3页
第3页 / 共9页
基于ASP的学生团员档案管理系统.docx_第4页
第4页 / 共9页
基于ASP的学生团员档案管理系统.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于ASP的学生团员档案管理系统.docx

《基于ASP的学生团员档案管理系统.docx》由会员分享,可在线阅读,更多相关《基于ASP的学生团员档案管理系统.docx(9页珍藏版)》请在冰豆网上搜索。

基于ASP的学生团员档案管理系统.docx

基于ASP的学生团员档案管理系统

基于ASP的学生团员档案管理系统

内容摘要……………………………………第1页

绪论………………………………………….第2页

一、制作系统之前的准备………………..第1页

1、创建虚拟目录

2、站点的编辑

3、数据库的创建

二、系统前台设计………………………..第8页

1、整个系统由几部分组成及各部分要实现的功能

2、前台设计用到的技术

三、系统后台代码……………………….第10页

1、连接数据库用到的操作对像

2、数据SQL语句的运用

总结…………………………………………第15页

参考文献……………………………………第16页

致谢…………………………………………第17页

 

摘要

本系统是根据现代化校园的发展而设计的基于ASP的学生团员档案管理系统,本系统可以方便老师、家长来学校查询团员学生相关信息。

还可以对新加入的团员信息进行信息录入。

由于团员情况复杂,可以实现信息修改,及时调整团员的基本情况。

关键字ASP查询信息录入信息修改

 

绪论

由于本系统是基于ASP开发的实现团员信息操作的系统。

所以,本系统的完成需要借助HTML,又由于HTML是网页编程的基础,所以,在这里就省去HTML代码,相信大家对HTML代码都非常熟悉。

一个好的系统需要一个友好的用户界面。

由于本系统是基于ASP开发的,所以,我利用网页制作工具MacromediaDreamweaverMX制作友好的用户界面。

 

第一章制作系统之前的准备

一、虚拟目录的创建:

1、在D:

根目录下新建一个文件夹(可以随意建在某个磁盘下),并取名,我的取名为‘巫连吉’;

2、在控制面板里双击管理工具,选择Internet信息服务并打开它,找到默认网站,点右键选新建->虚拟目录(如下图),取名为‘巫连吉’,路径选择前面建的文件夹的路径,即D:

/巫连吉。

二、站点的编辑:

打开MacromediaDreamweaverMX制作窗口,在右边找到‘文件’下的‘管理站点’,并打开它进行编辑,我取站点名为‘wljhkx’(站点名随便取),但是在编辑过程中选择的本地路径都是在‘D:

/巫连吉’下操作,同时选择的是在‘本地视图’下用ASPVBScript进行测试。

URL前缀是:

http:

//localhost/巫连吉/。

三、数据库的创建:

1、打开MicrosoftAccess,新建一个空Access数据库,并取名。

我这里一共建了admin、banjishezhi、setup、ty四个表,这些都是保存到‘D:

/巫连吉’文件夹下wulianji中;

2、分别双击各表使用设计器编辑表。

编辑各表的字段名、数据类型,注意把ID都设置为主键;

3、具体操作如下:

(1)、为了方便用户登陆该系统,而建立admin数据库表,制定登陆用户的姓名和密码等限制。

如下就是针对该表而编辑的字段名和数据类型:

(2)、建立banjishezhi表是说明有个班和班名都是什么。

下面就是针对这些问题而编辑的字段名和相对的数据类型(如下图):

(3)、建立setup表可以很方便的找到您要查询的符合该条件的所有团员信息。

它的字段名和数据类型编辑如下:

(4)、建立ty表是详细介绍团员的个人挡案信息(如:

团员姓名、性别、出生年月、入团时间和地点、是哪学年入该校及所在的班级等信息)。

下面是对该表编辑的字段名和数据类型所做的设计:

第二章系统前台设计

一、整个系统几部分组成及各部分要实现的功能

1、整个团员系统包括团员名册、查询统计、添加团员、用户管理(里面还有个添加管理用户界面)、参数设计、注销退出,共六大部分组成。

这使得整个系统达到完善的实现查询、添加、修改和管理等功能。

2、各部分要实现的功能:

(1)团员名册:

显示所有团员信息。

在这界面中可以对团员信息进行修改和删除该团员信息。

(2)查询统计:

这个界面是用来查询所符合条件的团员信息,其中包括按序号、姓名、班级、性别、团员出生年月范围、入团时间范围、哪个学年度里的哪的班级进行多方面查询。

这样使得查询更灵活方便。

(3)添加团员:

就是把新加入的团员信息添加到系统中以方便查询、修改和管理。

(4)用户管理:

制定登陆用户姓名和密码,及对该用户的信息进行修改,同时也可以添加新的用户。

(5)参数设计:

设计年级班级数目及是哪个年度的,这里还添加了按团员入团时间、地点查询功能。

(6)注销退出:

退出整个系统界面。

二、前台设计用到的技术

创建HTML基本页:

这是制作网页的主体,在这过程我主要使用了表格对页面的划分,图像的插入,有些图片还经过Photoshop的设计,还有页面之间的超链接技术,表单(在这里用上了与数据库上的连接)、按钮、列表/菜单、文本域、层的使用。

在制作系统版头时还运用到CSS样式,使得页面更加简单明了。

在这里用到的技术有:

1、表格:

在网页技术中,它占有重要的地位,它不但用于一般意思的格式化显示信息外,更多的还是划分网页的结构;还能够记载表单式的资料、规范各种数据、输入列表式的文字,而且还可以用来排列文字和图片。

在说表格还可以转换成层,当作层来使用。

2、图像:

它是优化网页显示效果的一部分。

常用的图像格式有GIF和JPEG。

在网页中插入的图片可以是剪贴画、图片文件、艺术字、使用绘图工具绘制的图形、视频对象等。

但是要注意的是通常网页中使用的图片的容量不能超过30KB,每个网页图片的总容量不要超过60KB。

3、超链接:

在Dreamweaver中创建超链接的方式很方便,也很简单。

在网页中插入的超链接包括对当前网页书签的超链接、电子邮件地址的超链接、本站点其他网页以及其他站点的超链接。

通常进行超链接是通过URL表达链接路径的;一般连接路径有三种表达方式:

绝对路径、相对路径和基于根目录的路径。

我在这里主要用了对文挡之间的超连接。

4、表单:

表单是由一类可输入和保存信息的项目组成的栏目。

在网页中,两个网页之间传递信息就好似需要用表单来实现,表单中可以保存输入的文字,选择的选项,甚至一些隐藏的信息。

目前网站与用户的交互主要是通过表单实现的。

表单有多种类型,主要包括提示站点访问者输入个人信息的用户登记表、网上购物的订购单、反馈意见表、允许访问者搜索Web站点的搜索查询表单等。

5、列表/菜单:

这里就是我们通常说的下拉菜单,其实它也是一种选择性的表单,不同的是,它是以下拉的方式显示,而且可以选择是单选还是多选。

6、文本:

网页中的文本对象是网页中最基本的元素。

输入的文本通常要经过格式化处理,使其美观、引人注目。

输入格式可以是直接通过键盘输入,也可以通过复制和粘贴命令将其他文挡中的文本信息复制到网页中。

7、层:

描述层是HTML中一种精确的布局方式,是属于容器的概念,每个层就是一个容器,在该层中可以放置文本、图象、表单、表格等,甚至于其他层,就像Photoshop、flash等软件一样,层与层之间是相互独立的,只有显示上下的相对关系。

层的概念使得一个网页可以有多个页面,但这些页面只能在同一个位置。

层位置的定位可以很精确,可以精确到像素。

多个层之间除了简单的对象叠加顺序外,还可以通过时间轴在屏幕上移动层,制作动画效果。

8、CSS样式:

CSS样式,即层叠样式,全称CascadingStyleSheets。

它是一种外置样式,这种样式是将全部的样式保存在一个CSS格式的文件中,这样如果网页需要使用某种样式,只要导出CSS格式即可。

CSS样式是个独立于网页的样式群体,每个CSS文件中可以有多个样式,不同的样式之间分开显示,而这个文件本身是个文本格式的文件,这样的好处在于如果仅仅需要修改网页的风格,而不是布局等内容,可以直接修改CSS文件,不必修改网页文件,也减少修改网页的麻烦和修改中产生错误的可能性。

第三章系统后台代码

一、数据库用到的操作对象

1、Connection对象

(1)、ADOConnection对象的主要作用是与数据库建立一个连接,它是ADO中最重要的一个对象。

建立Connection对象的格式是固定的,是set对象名=server.createobject(“adodb.connection”)

(2)Connection对象的方法有open方法和close方法。

Open方法的语法为对象名.openconnectionstring,其中connectionstring表示与数据源建立连接的相关信息。

这里的信息也可以用DSN代替。

但事实上,由于要事先建立DSN,而我们通常又没有直接控制服务器的权利,这就使得我们在申请网页的发布空间时,服务器管理员的工作量大大增加了,所以通常的服务器不会提供此种服务,从而导致DSN不太实际。

2、RecordSet对象

RecordSet对象保持查询返回的记录的位置,允许用户一次一项逐步扫描结果。

它的创建格式为set对象名=server

.createobject(“adodb.recordset”).查询格式为对象名.openselect语句,connection对象名,指针类型,记录锁定状态。

RecordSet对象的属性和方法有:

rs.CursorType:

指明记录指针的模式,缺省值为0,只能向后移动,为1时能向下又能向上移动。

Rs.locktype:

指明对记录指针的锁定状态,缺省值为1,不能修改,为3,可以同时被多个用户修改。

Rs.fields.count:

RecordSet对象的字段总数。

Rs(i).Name:

第I个字段的名称,I由0到rs.fields.count-1.

Rs(i):

读取第I个字段的数据,I由0到rs.fields.count-1.

Rs(“字段名称”):

读取指定字段的数据。

Rs.recordcount:

数据记录总数。

Rs.eof:

是否已指到最后一条记录之后。

Rs.bof:

是否已指到最前一条记录之前。

Rs.movenext:

将指针移到下一条记录。

Rs.moveprevious:

将指针移到上一条记录。

Rs.movefirst:

将指针移到第一条记录。

Rs.movelast:

将指针移到最后一条记录。

Rs.open:

从数据库中取数据记录。

Rs.close:

关闭RecordSet对象。

Rs.addnew:

增加一条新记录。

Rs.delete:

删除当前一条记录。

Rs.update:

更新记录。

3、Request对象:

Resquest对象代表由各客户程序发往HTTP的请求报文。

事实上,Request对象的功能是单向的,它只能接收客户端Web页面提交的数据,与Response对象的功能刚好相反。

Resquest接收数据时通过两个集合QueryString和Form来检索表单的数据,具体用哪一个集合,取决于Web页面提交数据的HTTP表单的Method属性,当Method属性值为“Get”时以QueryString,而Method属性值为“Post”时以Form。

当省略了具体的集合名称时,ASP将以下面的顺序来搜索集合:

QueryString->Form->Cookie->ServerVariables。

当数据提交到服务器端的log.asp文件后,在log.asp中使用Request对象得到用户提交的数据,加以判断用户是否合法。

log.asp文件如下:

<%dimUserdimPasswdUser=Request.QueryString("logid")Passwd=Request.QueryString("password")ifUser="jeff"thenifPasswd="123456"thenResponse.write"登录成功!

"elseResponse.write"密码错误!

"endifelseResponse.write"用户名错误!

"endif%>上面这个例子中Method属性使用了Get方法,所以使用Request.QueryString接收数据,相反若Method属性使用了Post方法,则使用Request.Form接收数据。

而ServerVariables集合可用于提供有关随HTTP请求一起传递的头信息,它的引用格式为:

Request.ServerVariables("关键字")其中的“关键字有:

REMOTE_ADDR->可以知道客户端的IPURL->得到系统的URL路径PATH_TRANSLATED->当前ActiveServerPage的真实地址HTTP_UA_OS->浏览器所在的操作系统

4、Response对象

Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。

下面介绍它常用的属性和方法。

Buffer属性该属性用于指定页面输出时是否要用到缓冲区,默认值为False。

当它为True时,直到整个ActiveServerPage执行结束后才会将结果输出到浏览器上。

如:

<%Response.Buffer=True%>Buffer示例<%fori=1to500response.write(i&"
")next%>这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。

Expires属性该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。

通过如下设置:

<%Response.Expires=0%>通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。

Write方法该方法把数据发送到客户端浏览器,如:

<%Response.write"Hello,world!

"%>Redirect方法该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。

如:

Redirect示例FunNewsSample以上是提交的表单,下面是处理表单的文件formjump.asp:

<%response.buff=true%>Redirect示例<%thisurl="where=Request.form("wheretogo")SelectCasewherecase"fun"response.redirectthisurl&"/fun/default.asp"case"news"response.redirectthisurl&"/news/default.asp"case"sample"response.redirectthisurl&"/sample/default.asp"EndSelect%>这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。

不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:

在文件的开始<@Language=..>后写:

Response.Buffer=True在结尾定:

Response.Flush这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。

另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。

End方法该方法用于告知ActiveServer当遇到该方法时停止处理ASP文件。

如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。

所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。

如:

<%Response.buffer=trueOnerrorresumenextErr.clearifErr.number<>0thenResponse.ClearResponse.Endendif%>

5.Server对象

Server对象是ASP中一个很重要的对象,许多高级功能都是靠它来完成的。

它提供了对ActiveServerPages和方法的使用,在这我主要介绍几个常用的方法。

MapPath方法该方法返回指定文件的相对路径或物理路径。

若Path以一个(/)或(\)开始,则MapPath方法返回路径时将Path视为完整的虚拟路径。

若Path不是以斜杠开始,则MapPath方法返回同.asp文件中已有的路径相对的路径。

如:

test.asp文件位于C:

\inetpub\wwwroot\myhome下,C:

\inetpub\wwwroot为服务器的宿主目录,而test.asp包含如下脚本:

<%Response.writeServer.MapPath(Request.ServerVariables("PATH_INFO")%>输出:

C:

\inetpub\wwwroot\myhome\test.asp要得到这个结果还可以用如下方法:

<%Response.writeServer.MapPath("myhome/test.asp")%>CreateObject方法这个方法是Server对象中最重要的方法,在后面可以看到,许多功能都不得不用到它。

它用于创建已注册到服务器上的ActiveX组件。

这是一个非常的特性,因为通过使用ActiveX组件能够使你扩展ActiveX的能力。

用于创建服务器端的方法如下:

Server.CreateObject("ComponentName")用来创建的组件可以是所有ActiveX能使用的内置组件,实际上是存在于服务器的所有ActiveX组件。

6.Session对象

Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。

每一访问者都会单独获得一个Session。

在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

a>SessionID属性该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。

我曾在开发过程中就遇到对用户的控制问题。

它要实现的功能就是,针对某个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。

也就是说一个会员名同时只能一个人浏览此模块。

我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。

当会员登录时,给这个会员一个Session记录登录状态如:

Session("Status")="Logged",同时把这个会员的Session.SessionID写入数据库。

当他要浏览此模块时,先判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。

这样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者访问此模块时就不能通过检查。

这就实现了一个会员名同时只能一个人浏览某个模块。

这个功能在一些收费网站有很有特别作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。

b>.TimeOut属性该属性用来定义用户Session对象的时限。

如果用户在规定的时间内没有刷新网页,则Session对象就会终止。

一般默认为20分钟。

c>.Abandon方法该方法是Session对象的唯一方法,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。

如:

<%Session.Abandon%>d>.Session_OnStart和Session_OnEnd事件和Application一样,当对象的例程每一次启动时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。

也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。

同理,这个事件也必须定在Global.asa文件中。

当调用Session.Abandon方法时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。

Session变量与特定的用户相联系,针对某一个用户赋值的Session变量是和其他用户的Session变量完全独立的,不会存在相互影响。

Session应用一例:

与Application一样,一个被定义为Session类型的数组只能将整个数组作为一个对象,用户不能直接改变Session数组中某个元素的值。

为了创建一个Session数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个Session数组。

如:

<%dimarray()array=array("jeff","zhu","male")Session("info")=arrayResponse.writeSession("info")(0)&"-"Response.writeSession("info")

(1)&"-"Response.writeSession("info")

(2)&"
"%>


<%array(0)="jun"array

(1)="li"array

(2)="female"Session("info")=arrayResponse.writeSession("info")(0)&"-"Response.writeSession("info")

(1)&"-"Response.writeSes

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1