您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页ASP实训报告

ASP实训报告

来源:爱问旅游网
河南农业大学 经济与管理学院

WEB程序设计实训报告

专业班级 信息管理与信息系统 学 号 10061045562 姓 名 斯蒂芬 实 验 室 紫竹苑实验室233

成绩评定 老师签名

2013 年 6 月 14 日

一.实训日期

2012-2013学年度第二学期第14-15周

二.实训地点

紫竹苑实验室233

三.实训目的

目的在于加深对网站开发的理解,掌握使用asp语言进行编程和使用Dreamweaver制作网页的基本方法,提高开发网站实际操作的能力。通过本课程的实训使学生掌握ASP编程的方法和设计过程,从而可以培养学生思考、分析项目的能力以及理论联系实际‘进行项目的设计及实现能力。实训后学生应掌握以下几点:熟练ASP脚本编程、ASP组件使用、ASP数组访问控制、ASP应用系统设计

四.实训任务

1、本次设计是学生在学完ASP网站开发课程后的一次实践性很强的课程设计,是对ASP进行网站开发所学知识的综合运用。 2、掌握使用ASP技术进行网站开发设计。

3、通过本次实习,使学生加深所学知识内容的理解,并能积极地调动学生的学习兴趣,结合实际应用操作环境,真正做到理论与实际相结合。

五、实训内容

实训题目:学生资料管理系统

1、开发环境

Macromedia Dreamweaver 8 系统 站点设计 ASP Access 数据库.

2、系统功能说明 (1)数据库

Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统(如SQL Server 2000)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。

Access可以实现建立数据库、报表,以及对数据库、报表的修改、查询等功能。 Access随着Windows操作系统和Offices办公自动化应用软件的普及, Access各个版本变得与其他Office成员集成得越来越紧密。Office2000的所有成员和VisualBasic6.0现在共享的是同样的VisualBasicforApplications(VBA)版本6.0。Access2000最后采纳了Office2000VBA

2

编辑器(也叫做集成开发环境或者IDE)用于编写asp代码来自动操作Access应用。不论好坏,Access2000还共享了Office2000新的超文本标记语言(HTML)帮助系统。Access最主要用的是创建数据库,并建立相应的软件的连接。如ODBC的连接。

(2)总体需求分析

如果我国各个学校管理水平还停留在纸介质的基础上,已不能适应时代的发展,因为它浪费了许多人力和物力,在当今的信息时代这种管理方法必然被计算机为基础的信息管理所取代。学生信息管理系统的开发,适合任何一个大中小学校的管理,

该学生信息管理系统归纳起来有四点:

1.学生信息的插入。可以插入不同地区的学生的姓名、个人联系方法、所在院系、班级及相关情况。实现了信息的动态管理。

2.学生信息的查询。学生的信息使管理员可以通过多种方式(年级、班级、姓名、学号、所在系等等)的查询,就可以直接查看自己需要的学生的相关信息。实现了信息的动态管理。

3.学生信息的修改。管理人员可以随时对转入、转出的学生进行修改,比如学号、所在系等等实现了信息的动态管理。

3.学生信息的删除。管理人员可以随时对转入、转出的学生进行删除,比如学号、所在系等等实现了信息的动态管理。

好处为:

1. 可以存储怕有的学生档案,安全、高效;

2. 只需一到二名档案录入员即可操作系统,节省大量人力; 3. 可以迅速查找到所需要的信息。

(3)功能描述

本系统的功能,能简单管理学生的资料,后台有管理员来操作,可以进行数据的修改,添加,删改,更新等功能。 3、操作说明及运行环境配置 (1)操作说明

Xs.html是主页面,其后面就是后台管理 (2)运行环境

Macromedia Dreamweaver 8:普通浏览器 4、数据表结构和功能结构图 (1)数据表结构 学生成绩管理系统登录系统表的数据库包含4个数据表(成绩表,管理员,课程表,学生表)。 数据库名:student(学生系统) 每个表的详细说明如下: Cj_a是管理员的用户名及密码的数据库 字段名 User_name

数据类型 字符型 长度 6 3

允许为空 允许为空 说明 用户名 User_pass 字符型 3 允许为空 用户密码

Cj_course成绩表 字段名称 C_no S_name S_period 数据类型 字符型 字符型 数值型 长度 4 10 2 允许为空 说明 允许为空 课程号 允许为空 课程名 允许为空 成绩 Cj_student学生表 字段名 S_no S_name S_sex S_birthday 数据类型 字符型 字符型 字符型 日期型 长度 10 5 2 20 10 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 说明 学号 姓名 性别 出生日期 院系 字符型 S_department

Cj_user学生用户密码表 字段名 username userpass Cj_xk 字段名 数据类型 长度 S_no C_no 字段名 学号 姓名 性别 民族 政治面貌 生源省市 班级 字符型 字符型 10 4 数据类型 数值型 数值型 长度 3 3 允许为空 允许为空 允许为空 长度 9 10 2 2 10 10 10 4

取值 允许为空 允许为空 说明 学号 课程号 说明 说明 用户名 用户密码 学生学籍信息 数据类型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 取值 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 允许为空 学生学号 学生姓名 性别 民族 政治面貌 生源省市 班级

年级

5.系统流程图

字符型 10 允许为空 年级 学生管理系统 管理员 学生 分别进入 6.重要功能代码

1.由于系统一大量的数据库,需要经常连接数据库,因此连接数据库的代码做成一个过

程放在conn.asp文件中,此文件内容如下:

<%

set conn=server.CreateObject(\"ADODB.connection\")

connstr=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & Server.MapPath(\"student.mdb\") conn.open connstr %> 登陆页面

5

显示用户添加用户修改信息删除用户修改成绩退出系统修改信息查询成绩退出系统

欢迎进入管理系统

管理员登陆

用户名:onFocus=\"this.classname='textedit';this.select()\">

密  码:onFocus=\"this.classname='textedit';this.select()\">

普通用户:用户名:333 密码:333

管理员界面

6

欢迎进入管理员系统

用户名:onFocus=\"this.classname='textedit';this.select()\">

密  码:onBlur=\"this.classname='text'\" onFocus=\"this.classname='textedit';this.select()\">

用户名:adamin密码:111


chongqinguniversity

毎日は日本語を勉強しずにはいられない

后台管理学生信息

7

欢迎进入学生资料系统



学生基本信息

8

<% Set rs=Server.CreateObject(\"Adodb.recordSet\") Con=\"Provider=

Microsoft.Jet.OLEDB.4.0;Data

Source=\"&

Server.MapPath(\"student.mdb\")

sql=\"select * from cj_student order by s_no\" rs.Open sql,Con,1,1,1 If rs.EOF then

Response.Write \"记录集为空!\" Response.End End If

'设置RecordSet对象的每一页数据记录条数的大小 rs.PageSize=3 '设置当前页

CurrentPage=Request.QueryString(\"pageno\") If CurrentPage=\"\" then CurrentPage=2 CurrentPage=CLng(CurrentPage) If CurrentPage<0 then CurrentPage=2

If CurrentPage>rs.PageCount then CurrentPage=rs.PageCount rs.AbsolutePage=CurrentPage %>

分页显示示例

学生基本情况一览表

<%'输出表头%>

<%'输出当前页面记录

9

For j=0 To rs.PageSize-1

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next

Response.Write \"

\"

Response.Write \"

\" rs.MoveNext

If rs.Eof Then Exit For Next

Response.Write \"

ID 学号 姓名 性别 出生日期 所在系修改
\" &rs.fields(i).value & \"修改

\" '输出上一页、下一页和页码对应的超链

If CurrentPage<>1 then Response.Write \"上一页 \" For i=1 To rs.PageCount If i=currentPage then Response.Write i&\" \" Else

Response.Write \"[\" & i & \"] \" End If Next If %>

CurrentPage<>rs.PageCount

then

Response.Write

\"href='selepage.asp?pageno=\"&CurrentPage+1 & \"'>下一页 \"

10

修改个人信息:

<% Set rs=Server.CreateObject(\"Adodb.recordSet\") Con=\"Provider=

Microsoft.Jet.OLEDB.4.0;Data

Source=\"&

Server.MapPath(\"student.mdb\")

sql=\"select * from cj_student order by s_no\" rs.Open sql,Con,1,1,1 If rs.EOF then

Response.Write \"记录集为空!\" Response.End End If

'设置RecordSet对象的每一页数据记录条数的大小 rs.PageSize=3 '设置当前页

CurrentPage=Request.QueryString(\"pageno\") If CurrentPage=\"\" then CurrentPage=2 CurrentPage=CLng(CurrentPage) If CurrentPage<0 then CurrentPage=2

If CurrentPage>rs.PageCount then CurrentPage=rs.PageCount rs.AbsolutePage=CurrentPage %>

分页显示示例

学生基本情况一览表

11

<%'输出表头%>

<%'输出当前页面记录 For j=0 To rs.PageSize-1

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next

Response.Write \"

\"

Response.Write \"

\" rs.MoveNext

If rs.Eof Then Exit For Next

Response.Write \"

ID 学号 姓名 性别 出生日期 所在系修改
\" &rs.fields(i).value & \"修改

\" '输出上一页、下一页和页码对应的超链

If CurrentPage<>1 then Response.Write \"上一页 \" For i=1 To rs.PageCount If i=currentPage then Response.Write i&\" \" Else

Response.Write \"[\" & i & \"] \" End If Next If

CurrentPage<>rs.PageCount

then

Response.Write

\"href='selepage.asp?pageno=\"&CurrentPage+1 & \"'>下一页 \"

12

%>

删除学生信息;

<% Set rs=Server.CreateObject(\"Adodb.recordSet\")

Con=\"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=\"& Server.MapPath(\"student.mdb\")

sql=\"select * from cj_student order by s_no\" rs.Open sql,Con,1,1,1 If rs.EOF then

Response.Write \"记录集为空!\" Response.End End If

'设置RecordSet对象的每一页数据记录条数的大小 rs.PageSize=3 '设置当前页

CurrentPage=Request.QueryString(\"pageno\") If CurrentPage=\"\" then CurrentPage=2 CurrentPage=CLng(CurrentPage)

If CurrentPage<0 then CurrentPage=2

If CurrentPage>rs.PageCount then CurrentPage=rs.PageCount rs.AbsolutePage=CurrentPage %>

分页显示示例

学生基本情况一览表

13

<%'输出表头%>

<%'输出当前页面记录

For j=0 To rs.PageSize-1

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next

Response.Write \"

\"

Response.Write \"

\" rs.MoveNext

If rs.Eof Then Exit For Next

Response.Write \"

ID 学号 姓名 性别出生日期 所在系 删除
\" &rs.fields(i).value & \"删除

\" '输出上一页、下一页和页码对应的超链 If CurrentPage<>1 then Response.Write \"上一页 \" For i=1 To rs.PageCount If i=currentPage then

Response.Write i&\" \" Else

Response.Write \"[\" & i & \"] \" End If Next

If CurrentPage<>rs.PageCount then Response.Write \"href='selepage2.asp?pageno=\"&CurrentPage+1 & \"'>下一页 \" %>

14

<%

Set conn = Server.CreateObject(\"ADODB.Connection\") strProvider

=

\"Provider=

Microsoft.Jet.OLEDB.4.0;Data

Source=\"&

Server.MapPath(\"student.mdb\") conn.Open strProvider

Set rs = Server.CreateObject(\"ADODB.RecordSet\") sql=\"select * from cj_student\"

rs.Open sql,conn,adOpenKeySet,adLockOptimistic,adcmdtext '获取用户选择的记录数

decount=Request.Form(\"delwhich\").count If decount=0 then

Response.Write \"对不起,请选择欲删除的记录!\" Response.End End If

While not rs.EOF For i=1 to decount

'查找与用户选择相同的记录

If Request.Form(\"delwhich\")(i)=Cstr(rs(\"s_no\")) then rs.delete '执行更新操作 rs.Update Exit For End If Next rs.MoveNext Wend

response.Write\"删除了\"&decount&\"条记录\" rs.close

Set conn = nothing %>

15

查询学生数据

请输入学生的查询数据

性别:

所在系:

Select.asp: <%

'获取用户输入的数据 sex=Request.Form(\"sex\")

department=Request.Form(\"department\") If sex=\"\" or department=\"\" then Response.Redirect \"select.html\" End If

'建立数据库连接

Set conn=Server.CreateObject(\"ADODB.Connection\") strProvider

conn.Open strProvider '创建Command对象

Set comm=Server.CreateObject(\"ADODB.Command\")

16

=\"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=\"&

Server.MapPath(\"student.mdb\")

'设置Command对象属性 comm.ActiveConnection=conn

comm.commandtext=\"select * from cj_student where s_sex='\" & sex & \"' and s_department='\" & department & \"'\" comm.commandtype=1 comm.prepared=True '执行指定查询

set rs=comm.Execute() '查询结果显示代码(略)

Response.Write \"

\" '表头

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next

Response.Write \"

\" '把查询结果填入表中 While not rs.EOF

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next rs.MoveNext

Response.Write \"

\" Wend

Response.Write \"

\"&Ucase(rs(i).Name)&\"
\"&rs(i).value&\"
\" Set conn = nothing

%>

17

添加课程信息:

成绩情况

成绩情况

课程号:

Selectxs.asp:

<%'取得被编辑记录的标识 no=Request(\"s_no\")

Set conn = Server.CreateObject(\"ADODB.Connection\") sTRProvider

=

\"Provider=

Microsoft.Jet.OLEDB.4.0;Data

Source=\"&

Server.MapPath(\"student.mdb\") conn.Open sTRProvider

18

Set rs=Server.createObject(\"ADODB.RecordSet\")

rs.Open \"select * from cj_course where c_no ='\" & no & \"'\" ,conn, adOpenkeySet, adlockOptimistic if rs.eof then

response.Write(\"课程号不存在!\") response.End end if %>

学生(课程号为:<%=rs(\"c_no\")%>)的数据


 课程 号:

\">

 所选课程:

\">

 成绩:

\">

<%Set conn=nothing%>

添加学生信息:

19


学  号:
姓  名:

性别:

出生日期:
所在系:

20

addstudent.asp:

<%

s_no=Trim(Request.Form(\"s_no\"))

s_name=Trim(Request.Form(\"s_name\")) s_sex=Trim(Request.Form(\"s_sex\"))

s_birthday=Trim(Request.Form(\"s_birthday\"))

s_department=Trim(Request.Form(\"s_department\"))

If s_no=\"\" or s_name=\"\" or s_sex=\"\" or s_birthday=\"\" or s_department=\"\" then

Response.Redirect \"addstudent.html\" End If

Set conn = Server.CreateObject(\"ADODB.Connection\") strProvider = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"&Server.MapPath(\"student.mdb\") conn.Open strProvider

Commandtext = \"Select * From cj_student where s_no='\" & s_no & \"'\" set rs=conn.Execute(commandtext) If rs.eof then Commandtext= \"Insert into cj_student(s_no,s_name,s_sex,s_birthday,s_department) VALUES('\" & s_no & \"','\" & s_name & \"'\" & \s_department & \"')\"

conn.Execute commandtext

Response.Write \"数据添加成功!
\" Else

Commandtext=\"Update cj_student Set s_name='\" & s_name & \"',s_sex='\" & s_sex &\"',s_birthday='\" & s_birthday &\"', s_department=\" & s_department &\" Where s_no='\" &s_no & \"'\" conn.Execute commandtext,,adcmdtext Response.Write \"数据修改成功!
\" End If

Set conn = nothing %>

学生进入系统;

21

显示学生学籍信息

显示学生成绩

成绩查询

退出系统

显示学生成绩

<% Set rs=Server.CreateObject(\"Adodb.recordSet\") strodbc = \"Driver={Microsoft Access

22

Driver

(*.mdb)};DBQ=\"&Server.MapPath(\"student.mdb\")

sql=\"select * from cj_course order by c_no\"

rs.Open sql,strodbc,AdOpenStatic,adlockreadonly,adcmdtext If rs.EOF then

Response.Write \"记录集为空!\" Response.End End If

'设置RecordSet对象的每一页数据记录条数的大小 rs.PageSize=4 '设置当前页

CurrentPage=Request.QueryString(\"pageno\")

If CurrentPage=\"\" then CurrentPage=1 CurrentPage=CLng(CurrentPage)

If CurrentPage<1 then CurrentPage=1

If CurrentPage>rs.PageCount then CurrentPage=rs.PageCount rs.AbsolutePage=CurrentPage %>

分页显示示例

成绩基本情况

<%'输出表头%>

<%'输出当前页面记录

For j=0 To rs.PageSize-1

Response.Write \"

\" For i=0 To rs.fields.count-1

Response.Write \"

\" Next

23

Response.Write \"

\" rs.MoveNext

If rs.Eof Then Exit For Next

Response.Write \"

ID课程号课程名 成绩
\" &rs.fields(i).value & \"

\" '输出上一页、下一页和页码对应的超链

If CurrentPage<>1 then Response.Write \"上一页 \" For i=1 To rs.PageCount

If i=currentPage then

Response.Write i&\" \" Else

Response.Write \"[\" & i & \"] \" End If Next

If CurrentPage<>rs.PageCount then Response.Write \"下一页 \" %>

成绩查询:

成绩情况

成绩情况

24

课程号:

selectxs.asp:

<%'取得被编辑记录的标识 no=Request(\"s_no\")

Set conn = Server.CreateObject(\"ADODB.Connection\")

sTRProvider = \"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=\"& Server.MapPath(\"student.mdb\") conn.Open sTRProvider

Set rs=Server.createObject(\"ADODB.RecordSet\")

rs.Open \"select * from cj_course where c_no ='\" & no & \"'\" ,conn, adOpenkeySet, adlockOptimistic if rs.eof then

response.Write(\"课程号不存在!\") response.End end if %>

学生(课程号为:<%=rs(\"c_no\")%>)的数据


 课程 号:

\">

 所选课程: \">  成绩: 25

value=\"<%=Server.HTMLEncode (rs(\"s_period\")) %>\">

<%Set conn=nothing%>

退出系统

<% session.Abandon()

response.Redirect\"default.html\"%> 六、总结

一周的ASP程序设计实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!

首先,在实训中的第一步是编写功能较为单一的登陆页面,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在这过程中让我们把这些知识复习了一遍,强化了知识!

其次,在实训中,较深知道做系统的要求,因次在做时比较慢,虽然系统关系是比较复杂,但是鉴次我明白很多做系统要经过多次修改与调试,才会得到最所想要的。

再次,平时我们学ASP程序似乎都是为了考试或者做一些比较常规的网页,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是开发软件的在雏形,也让要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!

虽然我这次是做的简单学生信息系统,但是如果我们留心的话,我们身边有许多的实际生活问题,我们也可以在此次专题实训过后,自行确定其他的专题进行来处理实际问题,这样可以让我们的知识更加深化丰富!

实训是对我巨大的考验,系统在不慌不忙的进行着,按照我自身的进度,完成是有问题的,但是很多客观条件让我不得不在最后的时间里做作业。每当我把系统调试时,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃。最后在老师的帮助下终于大慨编辑出了这个简单化的系统。

在编写系统中,真的是细节决定成败,因为不管程序的语句是多是少,但是

26

只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写的系统有点点成就。

在这周中我们再寒冷的天气下,在老师不寒风,不怕我们基础不好,细心的指导我们,在这里非常感谢朱老师的细心指导。我们学会了软件的基本开发步骤了!

七、参考文献

ASP程序教程

27

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务