1、毕业论文(设计)题 目 团 员 管 理 系 统 系部名称 计 算 机 专 业 网 络 技 术 班 级 学生姓名 指导教师 吉林省经济管理干部学院吉林经济职业技术学院吉林省经济管理干部学院吉林经
2、济职业技术学院论文题目:教师评语:指导教师签字 年 月 日 答辩委员会评语:主任签字 年 月 日 建议成绩评定成绩学生毕业论文(设计)评定表目录内容摘要第 1 页绪论.第 2 页一、 制作系统之前的准备第 1 页1、
3、 创建虚拟目录2、 站点的编辑3、 数据库的创建二、 系统前台设计第 8 页1、 整个系统由几部分组成及各部分要实现的功能2、 前台设计用到的技术三、 系统后台代码.第 10页1、 连接数据库用到的操作对像2、 数据 SQL 语句的运用总结第 15页参考文献第 16页致谢第 17页摘要本系统是根据现代化校园的发展而设计的基于 ASP 的学生团员档案管理系统,本系统可以方便老师、家长来学校查询团员学生相关信息。还可以对新加入的团员信息进行信息录入。由于团员情况复杂,可以实现信息修改,及时调整团员的基本情况。 关键字 ASP 查询 信息录入 信息修改绪论由于本系统是基于 ASP 开发的实现团员信息
4、操作的系统。所以,本系统的完成需要借助HTML,又由于 HTML 是网页编程的基础,所以,在这里就省去 HTML 代码,相信大家对 HTML 代码都非常熟悉。 一个好的系统需要一个友好的用户界面。由于本系统是基于 ASP 开发的,所以,我利用网页制作工具 Macromedia Dreamweaver MX 制作友好的用户界面 。第一章 制作系统之前的准备一、虚拟目录的创建:1、在 D:根目录下新建一个文件夹(可以随意建在某个磁盘下) ,并取名,我的取名为巫连吉 ;2、在控制面板里双击管理工具,选择 Internet 信息服务并打开它,找到
5、默认网站,点右键选新建-虚拟目录(如下图) ,取名为巫连吉 ,路径选择前面建的文件夹的路径,即 D:/巫连吉。二、站点的编辑:打开 Macromedia Dreamweaver MX 制作窗口,在右边找到文件下的管理站点 ,并打开它进行编辑 ,我取站点名为wljhkx (站点名随便取) ,但是在编辑过程中选择的本地路径都是在D:/巫连吉下操作,同时选择的是在本地视图下用 ASP VBScript 进行测试。URL 前缀是:http:/localhost/巫连吉/。三、 数据库的创建:1、打开 Microsoft Access,新建一个空 Access 数据库,并取名。我这里一共建了 admin
6、、banjishezhi、setup、ty 四个表,这些都是保存到D:/巫连吉文件夹下 wulianji 中;2、分别双击各表使用设计器编辑表。编辑各表的字段名、数据类型,注意把 ID 都设置为主键;3、具体操作如下:(1)、为了方便用户登陆该系统,而建立 admin 数据库表,制定登陆用户的姓名和密码等限制。如下就是针对该表而编辑的字段名和数据类型:(2)、建立 banjishezhi 表是说明有个班和班名都是什么。下面就是针对这些问题而编辑的字段名和相对的数据类型(如下图):(3)、建立 setup 表可以很方便的找到您要查询的符合该条件的所有团员信息。它的字段名和数据类型编辑如下:(4)
7、、建立 ty 表是详细介绍团员的个人挡案信息(如:团员姓名、性别、出生年月、入团时间和地点、是哪学年入该校及所在的班级等信息)。下面是对该表编辑的字段名和数据类型所做的设计: 第二章 系统前台设计一、整个系统几部分组成及各部分要实现的功能1、整个团员系统包括团员名册、查询统计、添加团员、用户管理(里面还有个添加管理用户界面)、参数设计、注销退出,共六大部分组成。这使得整个系统达到完善的实现查询、添加、修改和管理等功能。2、各部分要实现的功能:(1)团员名册:显示所有团员信息。在这界面中可以对团员信息进行修改和删除该团员信息。(2)查询统计
8、:这个界面是用来查询所符合条件的团员信息,其中包括按序号、姓名、班级、性别、团员出生年月范围、入团时间范围、哪个学年度里的哪的班级进行多方面查询。这样使得查询更灵活方便。(3)添加团员:就是把新加入的团员信息添加到系统中以方便查询、修改和管理。(4)用户管理:制定登陆用户姓名和密码,及对该用户的信息进行修改,同时也可以添加新的用户。(5)参数设计:设计年级班级数目及是哪个年度的,这里还添加了按团员入团时间、地点查询功能。(6)注销退出:退出整个系统界面。二、前台设计用到的技术创建 HTML 基本页:这是制作网页的主体,在这过程我主要使用了表格对页面的划分,图像的插入,有些图片还经过 Photo
9、shop 的设计,还有页面之间的超链接技术,表单(在这里用上了与数据库上的连接) 、按钮、列表/菜单、文本域、层的使用。在制作系统版头时还运用到 CSS 样式,使得页面更加简单明了。在这里用到的技术有:1、 表格:在网页技术中,它占有重要的地位,它不但用于一般意思的格式化显示信息外,更多的还是划分网页的结构;还能够记载表单式的资料、规范各种数据、输入列表式的文字,而且还可以用来排列文字和图片。在说表格还可以转换成层,当作层来使用。2、 图像:它是优化网页显示效果的一部分。常用的图像格式有 GIF 和JPEG。在网页中插入的图片可以是剪贴画、图片文件、艺术字、使用绘图工具绘制的图形、视频对象等。
10、但是要注意的是通常网页中使用的图片的容量不能超过 30KB,每个网页图片的总容量不要超过 60KB。3、 超链接:在 Dreamweaver 中创建超链接的方式很方便,也很简单。在网页中插入的超链接包括对当前网页书签的超链接、电子邮件地址的超链接、本站点其他网页以及其他站点的超链接。通常进行超链接是通过URL 表达链接路径的;一般连接路径有三种表达方式:绝对路径、相对路径和基于根目录的路径。我在这里主要用了对文挡之间的超连接。4、 表单:表单是由一类可输入和保存信息的项目组成的栏目。在网页中,两个网页之间传递信息就好似需要用表单来实现,表单中可以保存输入的文字,选择的选项,甚至一些隐藏的信息。
11、目前网站与用户的交互主要是通过表单实现的。表单有多种类型,主要包括提示站点访问者输入个人信息的用户登记表、网上购物的订购单、反馈意见表、允许访问者搜索 Web 站点的搜索查询表单等。5、列表/菜单:这里就是我们通常说的下拉菜单,其实它也是一种选择性的表单,不同的是,它是以下拉的方式显示,而且可以选择是单选还是多选。6、文本:网页中的文本对象是网页中最基本的元素。输入的文本通常要经过格式化处理,使其美观、引人注目。输入格式可以是直接通过键盘输入,也可以通过复制和粘贴命令将其他文挡中的文本信息复制到网页中。7、层:描述层是 HTML 中一种精确的布局方式,是属于容器的概念,每个层就是一个容器,在该
12、层中可以放置文本、图象、表单、表格等,甚至于其他层,就像 Photoshop、flash 等软件一样,层与层之间是相互独立的,只有显示上下的相对关系。层的概念使得一个网页可以有多个页面,但这些页面只能在同一个位置。层位置的定位可以很精确,可以精确到像素。多个层之间除了简单的对象叠加顺序外,还可以通过时间轴在屏幕上移动层,制作动画效果。8、CSS 样式:CSS 样式,即层叠样式,全称 Cascading Style Sheets。它是一种外置样式,这种样式是将全部的样式保存在一个 CSS 格式的文件中,这样如果网页需要使用某种样式,只要导出 CSS 格式即可。CSS样式是个独立于网页的样式群体,
13、每个 CSS 文件中可以有多个样式,不同的样式之间分开显示,而这个文件本身是个文本格式的文件,这样的好处在于如果仅仅需要修改网页的风格,而不是布局等内容,可以直接修改 CSS 文件,不必修改网页文件,也减少修改网页的麻烦和修改中产生错误的可能性。第三章 系统后台代码一、 数据库用到的操作对象1、 Connection 对象(1) 、ADO Connection 对象的主要作用是与数据库建立一个连接,它是 ADO 中最重要的一个对象。建立 Connection 对象的格式是固定的,是 set 对象名=server.createobject(“adodb.connection”)(2)Connec
14、tion 对象的方法有 open 方法和 close 方法。Open 方法的语法为对象名.open connectionstring,其中 connectionstring表示与数据源建立连接的相关信息。这里的信息也可以用 DSN 代替。但事实上,由于要事先建立 DSN,而我们通常又没有直接控制服务器的权利,这就使得我们在申请网页的发布空间时,服务器管理员的工作量大大增加了,所以通常的服务器不会提供此种服务,从而导致 DSN 不太实际。2、 RecordSet 对象RecordSet 对象保持查询返回的记录的位置,允许用户一次一项逐步扫描结果。它的创建格式为 set 对象名=server.cr
15、eateobject(“adodb.recordset”).查询格式为对象名.open select 语句,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):读取第
16、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:删除当前一条记录。R
17、s.update:更新记录。3、Request 对象:Resquest 对象代表由各客户程序发往 HTTP 的请求报文。事实上,Request 对象的功能是单向的,它只能接收客户端 Web 页面提交的数据,与 Response 对象的功能刚好相反。 Resquest 接收数据时通过两个集合 QueryString 和 Form 来检索表单的数据,具体用哪一个集合,取决于 Web 页面提交数据的 HTTP 表单的 Method 属性,当Method 属性值为“Get ”时以 QueryString,而 Method 属性值为“Post”时以 Form。当省略了具体的集合名称时,ASP 将以下面的
18、顺序来搜索集合:QueryString - Form - Cookie -ServerVariables。 当数据提交到服务器端的 log.asp 文件后,在 log.asp 中使用 Request 对象得到用户提交的数据,加以判断用户是否合法。log.asp 文件如下: 上面这个例子中 Method 属性使用了 Get 方法,所以使用Request.QueryString 接收数据,相反若 Method 属性使用了 Post 方法,则使用 Request.Form 接收数据。 而 ServerVariables 集合可用于提供有关随 HTTP 请求一起传递的头信息,它的引用格式为: Requ
19、est.ServerVariables(“关键字“) 其中的“关键字有: REMOTE_ADDR 可以知道客户端的 IP URL 得到系统的URL 路径 PATH_TRANSLATED 当前 Active Server Page 的真实地址 HTTP_UA_OS 浏览器所在的操作系统4、Response 对象 Response 对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以 HTML 的格式发送到用户端的浏览器,它与 Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。 Buffer 属性 该属性用于指定页面输出时是否要用到缓冲区
20、,默认值为 False。当它为 True 时,直到整个 Active Server Page 执行结束后才会将结果输出到浏览器上。如: Buffer 示例 “) next 这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。 Expires 属性 该属性用于设置浏览器缓存页面的时间长度(单位为分) ,必须在服务器端刷新。通过如下设置: 通过在 ASP 文件中加入这一行代码,要求每次请求是刷新页面,因为 Response 一收到页面就会过期。 Write 方法 该方法把数据发送到客户端浏览器,如: Redirect 方
21、法 该方法使浏览器可以重新定位到另一个 URL 上,这样,当客户发出 Web 请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如: Redirect 示例 Fun News Sample 以上是提交的表单,下面是处理表单的文件 formjump.asp: Redirect 示例 这个例子当用户选择了以后,按“Jump“按钮提交表单,服务器接到申请后调用 formjump.asp 判断后定位到相应的 URL。不过这里有一点要注意,HTTP 标题已经写入到客户浏览器,任何 HTTP标题的修改必须在写入页内容之前,遇到
22、这种问题时,可以如下做: 在文件的开始后写: Response.Buffer=True 在结尾定: Response.Flush 这里 Flush 是 Response 的一个方法,它必须是 Buffer 属性设置为 True 时才能使用,否则会产生一个运行模式错误。另外一个 Clear 方法也是用于清除被缓存的页面,同样要 Buffer 属性设置为 True 时才能使用。 End 方法 该方法用于告知 Active Server 当遇到该方法时停止处理 ASP 文件。如果 Response 对象的 Buffer 属性设置为 True,这时 End 方法即把缓存中的内容发送到客户并清除冲区。所
23、以要取消所有向客户的输出民,可以先清除缓冲区,然后利用 End 方法。如: 0 then Response.Clear Response.End end if 5Server 对象 Server 对象是 ASP 中一个很重要的对象,许多高级功能都是靠它来完成的。它提供了对 Active Server Pages 和方法的使用,在这我主要介绍几个常用的方法。 MapPath 方法 该方法返回指定文件的相对路径或物理路径。若 Path 以一个 (/)或()开始,则 MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则MapPath 方法返回同.asp 文
24、件中已有的路径相对的路径。 如:test.asp文件位于 C:inetpubwwwrootmyhome 下,C:inetpubwwwroot 为服务器的宿主目录,而 test.asp 包含如下脚本: 输出:C:inetpubwwwrootmyhometest.asp 要得到这个结果还可以用如下方法: CreateObject 方法 这个方法是 Server 对象中最重要的方法,在后面可以看到,许多功能都不得不用到它。它用于创建已注册到服务器上的ActiveX 组件。这是一个非常的特性,因为通过使用 ActiveX 组件能够使你扩展 ActiveX 的能力。 用于创建服务器端的方法如下:Serv
25、er.CreateObject(“ComponentName“) 用来创建的组件可以是所有ActiveX 能使用的内置组件,实际上是存在于服务器的所有 ActiveX 组件。 6Session 对象 Session 其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个 Session。在 Web 应用程序中,当一个用户访问该应用时,Session 类型的变量可以供这个用户在该Web 应用的所有页面中共享数据;如果另一个用户也同时访问该 Web应用,他也拥有自己的 Session 变量,但两个用户之间无法通过Session 变量共享信息,而 Application
26、 类型的变更则可以实现站点多个用户之间在所有页面中共享信息。 a SessionID 属性 该属性返回当前会话的唯一标志,为每一个 Session 分配不同的编号。我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块。我通过用会员名(假设为 UserID,唯一)和SessionID 来实现了控制。当会员登录时,给这个会员一个 Session 记录登录状态如:Session(“Status“)=“Logged“,同时把这个会员的Session.
27、SessionID 写入数据库。当他要浏览此模块时,先判断其是否登录,若已经登录再判断它的 SessionID 是否与数据库记录的相同,如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的 SessionID,前者访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。 b.TimeOut 属性 该属性用来定义用户 Session 对象的时限。如果用户在规定的时间内没有刷新网页,则Session 对象就会终止。一般默认为 20 分钟。 c.Aban
28、don 方法 该方法是 Session 对象的唯一方法,可以清除 Session 对象,用来消除用户的 Session 对象并释放其所占的资源。如: d.Session_OnStart 和 Session_OnEnd 事件 和 Application 一样,当对象的例程每一次启动时触发 Session_OnStart 事件,然后运行Session_Onstart 事件的处理过程。也就是说,当服务器接收到应用程序中的 URL 的 HTTP 请求时,触发此事件,并建立一个 Session 对象。同理,这个事件也必须定在 Global.asa 文件中。 当调用Session.Abandon 方法时或
29、者在 TimeOut 的时间内没有刷新,这会触发Session_OnEnd 事件,然后执行里面的脚本。Session 变量与特定的用户相联系,针对某一个用户赋值的 Session 变量是和其他用户的Session 变量完全独立的,不会存在相互影响。 Session 应用一例: 与 Application 一样,一个被定义为 Session 类型的数组只能将整个数组作为一个对象,用户不能直接改变 Session 数组中某个元素的值。为了创建一个 Session 数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个 Session 数组。如: “ “ 以上这段程序输出结果是:
30、 jeff-zhu-male _ jun-li-female。二、数据查询 SQL 语句的语法格式有:1、 select 字段名 1字段名 2,字段名 nform 表名 where 条件order by 字段名;2、 insert into 表名 字段名序列 values(数据序列) ;3、 update 表名 set 字段名=新值 where 条件;delete form 表名 where 条件。总结经过老师和同学的大力帮助和辅导,团员管理系统基本开发完毕。其功能基本符合用户需求,能够完成团员学生信息的添加和查询等功能。并提供部分系统维护功能,使用户方便进行数据添加和删除。但是由于毕业设计时
31、间较短,所以该系统还有许多不尽如人意的地方,比如按类查询信息方面文档比较简单,出错处理不够等多方面问题。这些都有待进一步改善。参考文献1、石志国 ASP 动态网站编辑. 北京:清华大学出版社,20012、 张玲 网页设计与制作 北京:机械工业出版社,20053、杨眉 专家门诊 ASP 开发答疑 200 问 北京:人民邮电出版社,2005致谢在这次毕业设计中,我得到了许多老师和同学的帮助,才使我成功的完成设计,在此非常的忠心的感谢他们,特别是李胜军老师,是他耐心指导和大力支持使我在设计中受益非浅,不但能完成了这次设计,而且从李胜军老师这学到的将成为我今后学习工作一大源泉,至此非常感谢他。