最新ASP+access数据库连接---学生信息管理系统-实训报告.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateASP+access数据库连接-学生信息管理系统-实训报告河南化工职业学院河南化工职业学院网站制作课程设计专业:计算机信息管理学生姓名:学号:2011321105指导老师: 2013年 1 月 2 日目录1、课程概述22、设计目的及要求3(1)课程设计的目的3(2)课程设计的要求33、设计的分析44、设计操作过程的说明55、课程设计的收获、感想以及体会12-1、 课程概述(1)ASP简述ASP(Active Server Pages,活动服务页)是微软推出的一种动态网页技术,是位于服务器的脚本运行环境.通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式的动态网页.使用ASP还有一个好处,就在于ASP可利用ADO方便的访问数据库,从而使开发基于WWW的 应用系统成为可能。ASP的最大好处是除了可以包含HTML标记外,还可以直接访问数据库,并可以通过ASP的 组件和对象技术使用无限扩充的Activex控件来进行动态网页的开发。ASP在Web服务器端运行,运行后将结果以HTML格式发送到客户端服务器,因此比普通的脚本更加安全。动态网页不仅包括动态GIF图片,而且最主要的是其“交互性”,即网页会根椐用户的要求和选择而动态改变和响应。这个课程设计最主要的就是交互。最关键也在这里。这个网页是要求用户注册成为这个网站的成员,当网页显示用户注册成功时,用户就成功地实现了与服务器的一次交互。现在许多Web业务都采用交互动态网页,比如网上订票、上网购物等电子商务领域,网络游戏、网上聊天等娱乐方面,以及用于商业领域等。(2) ACCESS 技术简介 Access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 本课程将介绍如何使用ASP (Active Server Pages)技术进行编程来组建学生管理系统网站,使网站做到自动化管理。由此实现以下功能:可对学生管理系统数据库进行查询、添加、删除和更新等操作。2、设计目的及要求(1)课程设计的目的计算机信息管理专业所开设的网站制作课程设计是教学实践环节中一项重要内容,进行此课程设计旨在:1、提高和加强学生的计算机应用及网站开发能力,以及对后台数据库中数据的操作,使学生掌握如何制作动态网站;2、培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异的发展形势;3、学习和掌握ASP程序设计方法以及上机调试技巧,为今后学习其他专业课程打好基础;本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,作出设计报告。 1、通过设计ASP的一些页面让我增多了对ASP的了解在本次的实训中更好的掌握了ASP的应用。 2、熟练应用ASP的技巧。 3、掌握数据库的应用。(2)课程设计的要求 1、搭建ASP的运行环境。 2、设置数据库文件权限。 3、友好的界面设计。 4、建立完整的数据库表格,并完善使用。 5、设置正确的数据源。 6、输入正确的通讯库代码。 7、正确使用WORD和截图工具。 实训注意事项: 1、代码的正确输入 2、建立正确的虚拟目录路径 3、数据源的设置 4、文件名输入正确3、设计的分析1创建学生管理系统使用Access创建学生管理系统数据库,数据库中包含三张表,分别为学生表(学号、姓名、性别、出生时间、专业、联系电话、宿舍号)、课程表(课程号、课程名、开课学期、学时、学分)和成绩表(学号、课程号、成绩)。2ASP存取学生管理系统数据库实现对学生管理系统数据库的查询、添加、删除和更新等操作。3. 系统功能模块设计学生管理系统教职工学生用户登录用户登录信息课程表成绩表学生信息查询学生课程查询学生成绩查询查询更新删除添加查询更新删除添加查询更新删除添加系统功能模块设计图4、 设计操作过程的说明(1)建立数据库 1.ACCESS Microsoft access 是一种关系数据库,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在表中不能重复。 2.数据库逻辑结构设计 学生信息表设计如下:列名数据类型说明ID数字自动编号strName文本学生姓名strSex文本学生性别csrq文本出生日期zy文本专业strTell数字学生ssh数字学生 学生课程表设计如下:列名数据类型说明course_No数字课程号course_Name文本课程名kkrq日期开课日期xs文本学时xf文本学分 学生成绩表设计如下:列名数据类型说明ID数字学生学号course_No数字课程号result数字学生成绩3. 数据库的实现 经过以上数据库设计试图分析后,就可以实现在access数据库中创建表了。学生信息表效果图如下: 学生课程表效果图如下: 学生成绩表效果图如下:(2) 搭建IIS服务器 1.IIS的安装 2.虚拟目录的建立(3) 设置数据源 1.依次选择“开始”“控制面板”“管理工具”“数据源(ODBC)”,出现下图“ODBC数据管理器”对话框。“ODBC数据管理器”对话框2.在“ODBC数据管理器”对话框中选择“系统DNS标签”,然后单击“添加”按钮,出现“创建新数据源”对话框。“创建新数据源”对话框 3.在“创建新数据源”对话框中选择“Microsoft Access Driver(*.mdb)”,然后单击“完成”。出现“ODBC Microsoft Access 安装”对话框。“ODBC Microsoft Access 安装”对话框 4.在“ODBC Microsoft Access 安装”对话框中输入“数据源名”为“address”和“说明”,并单击“选择”按钮,选择“G:11address.mdb”,然后单击“确定”。(4) ASP链接数据库 1.基于ODBC数据源的链接方式<% '以下连接数据库,建立一个Connection对象实例connDim conn Set conn=Server.CreateObject("ADODB.Connection") conn.Open "address"'利用数据源连接数据库'以下建立记录集,建立一个Recordset对象实例rsDim rs Set rs=conn.Execute("Select * From tbAddress")'返回整个数据表'以下利用表格显示记录集中的记录%> 2.各个页面的实现 (1)学生管理系统主页面的实现学生系统共分为两个用户登录,分别为教职工 和学生两种类型用户,教职工类型用户登录实现的是对学生信息表、学生课程表、学生成绩表的查询、添加、更新、删除等权限的操作,学生类型用户登录实现的是对学生信息表、学生课程表、学生成绩表的查询的操作。效果如图所示:学生管理系统主页面的实现学生管理系统主页面实现主要代码见后附加重要步骤代码(2) 添加页面的实现添加页面主要是增加了表单部分,这样就可以在线实现输入人员信息。效果如图所示:添加页面的实现添加页面的实现主要代码见后附加重要步骤代码(3) 查询记录页面的实现查询记录页面中心思想是利用表单输入姓名,然后在Select语句中利用where条件进行模糊查找。效果如图所示:查询记录页面的实现查询记录页面的实现主要代码见后附加重要步骤代码(4) 更新页面的实现更新页面,当需要更新某人的联系方式时,就需要用到SQL语言的Update语句。更新记录也是利用Connection对象的Execute方法,不过也不需要返回记录对象,具体过程和添加记录、删除记录都非常相似。效果如下图所示更新页面的实现更新页面的实现主要代码见后附加重要步骤代码(5) 删除页面的实现 删除页面的实现相对较简单,根据首页传递过来的ID值,从而删除记录。 3.学生成绩表、课程表操作的实现以上是单独针对学生信息表实现的查询、添加、更新、删除等操作,之后的对实现学生成绩表、课程表的查询、添加、更新、删除等操作与对学生信息表实现的查询、添加、更新、删除等操作相类似。之后仅显示效果图。学生课程表效果图如下学生课程表效果图学生成绩表效果图学生成绩表效果图5、课程设计的收获、感想以及体会通过一周的ASP实训课,我受益匪浅,学到了很多在课本上学不到的东西。在这为期一周的实训过程中,有苦有乐。虽然实训时课程比平时多,但我觉得这次才是我学到ASP这门课程最充实的一课。 如果要做出一个学生管理系统并不难,关键是如何突出你的实用,你的特色,这是制作系统的难点。通过此次独立完成通讯录的独立完成,使我对原来没有掌握的知识得到了进一步的理解和巩固。了解了在动态网站的更新、添加、删除等后台运行的操作技术。在实训的完成中使我懂得了在操作时需要认真和细心。在实训过程中,遇到问题,积极讨论,并请教老师,尽自己最大的能力完成自己的课程设计,从中既锻炼了自己实践操作能力,又收获了许多知识,加深了印象,增添了自身的经验。实训期间,系统测试出现的问题:1. 数据库的连接容易出错2. 各种数据库数据输入容易出错3. 数据类型不匹配4. 数据库权限的设置5. 运行.asp文件时,存储路径不正确 以上总结出来的错误,有的是粗心大意造成的,有的是操作技术上的错误,为此想要做好一个系统更需要一个认真的心。 社会在高速地发生变化,对个人的要求也越来越高,我们要用发展的眼光看问题,不断提高思想认识,完善自己。作为一名IT从业者,所受的社会压力将比其它行业更加沉重,要学会创新求变,以适应社会的需要。在这短短的几天时间里,我和老师打成一片,很好的跟他交流沟通思想,我想,应该是我的真诚来换取老师的信任。老师把我们当成朋友一样愿意指导我,愿意分配任务给我,让我们有足够的时间来学习。在学习中,我们需要的不止是专业水平更需要激情与耐心。来不断的提高自己。附加:关键步骤代码1. 学生管理系统主页面实现主要代码:<body><p align="center"><b><font size="7">学生管理系统</font></b></p><form method="POST" action="-WEBBOT-SELF-"><!-webbot bot="SaveResults" U-File="C:UsersAdministratorDesktop_privateform_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -><div align="center"><table border="0" width="413" height="162"><tr> <td height="59" width="206"><p align="right"><b>用户类型:</b></td><td height="59" width="191"><select size="1" name="D1"><option>教职工</option><option>学生</option></select></td></tr><tr><td height="54" width="206"><p align="right"><b>用户名:</b></td><td height="54" width="191"><input type="text" name="T1" size="20"></td></tr><tr><td height="38" width="206"><p align="right"><b>密码:</b></td><td height="38" width="191"><input type="text" name="T2" size="20"></td></tr></table></div><p align="center"><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p></form><p align="left"></p></body>2. 添加页面的实现主要代码:<body><h2 align="center">添加新成员</h2><form name="frmInsert" method="POST" action=""><p align="center">其中带*号的必须填写<div align="center"><table border="0" width="80%"><tr><td>姓名</td><td><input type="text" name="txtName" size="20">*</td></tr><tr><td>性别</td><td><input type="radio" name="rdoSex" value="男">男<input type="radio" name="rdoSex" value="女">女</td></tr><tr><td>出生日期</td><td><input type="text" name="txtAge" size="4"></td></tr><tr><td>专业</td><td><input type="text" name="txtTel" size="20">*</td></tr><tr><td>电话</td><td><input type="text" name="txtEmail" size="50"></td></tr><tr><td>宿舍号</td><td><input type="text" name="T1" size="20"></td></tr><tr><td></td><td><input type="submit" name="btnSubmit" value=" 确 定 "></td></tr></table></div></form><% '只要添加了姓名和电话,就添加记录If Request.Form("txtName")<>"" And Request.Form("txtTel")<>"" Then '以下首先获取提交的数据Dim ID,strName,strSex,csrq,zy,strTel,sshstrName=Request.Form("txtName")'获取姓名strSex=Request.Form("rdoSex")'获取性别 zyq=Request.Form("txtzy")获取专业 ssh=Request.Form("txtssh")获取宿舍号strTel=Request.Form("txtTel")'获取电话 ID=Request.Form("txtID")'以下连接数据库,建立一个Connection对象实例connDim conn,strConn Set conn=Server.CreateObject("ADODB.Connection") strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")conn.Open strConn'下面利用Execute方法添加记录Dim strSqlstrSql="Insert Into tbAddress(strName,strSex,intAge,strTel,strEmail,strIntro,dtmSubmit) Values('" & strName & "','" & strSex & "'," & intAge & ",'" & strTel & "','" & strEmail & "','" & strIntro & "',#" & Date() & "#)"conn.Execute(strSql) '添加成功后,则返回首页Response.Redirect "index.asp" End If%>(3) 查询记录页面的实现主要代码:<body><h2 align="center">查找记录示例</h2><form name="frmSearch" method="POST" action="">请输入要查找的姓名:<input type="text" name="txtName"><input type="submit" name="btnSubmit" value=" 确 定 "></form><%If Request.Form("txtName")<>"" Then'以下连接数据库,建立一个Connection对象实例connDim conn,strConn Set conn=Server.CreateObject("ADODB.Connection")strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")conn.Open strConn '以下建立一个RecordSet对象实例rs。注意Select语句中要用到提交的姓名Dim rs,strSql strSql="Select * From address Where strName Like '%" & Request.Form("txtName") & "%'"Set rs=conn.Execute(strSql)'以下利用表格显示查找到的记录%><table border="1" width="90%" align="center" height="54" id="table1"> <tr bgcolor="#E0E0E0"><th height="22" width="107">学号</th><th height="22" width="159">姓名</th><th height="22">性别</th><th height="22" width="230">出生日期</th><th height="22" width="133">专业</th><th height="22" width="131">电话</th><th height="22">宿舍号</th> </tr> <% Do While Not rs.Eof%> <tr><td width="107"><%=rs("ID")%>1</td><td width="159"><%=rs("strName")%>张三</td><td>男</td><td width="230">1990-09-12</td> <td width="133"><%=rs("zy")%>计算机应用技术</td> <td width="131">123456<%=rs("strTel")%></td> <td>202<%=rs("ssh")%></td> </tr> <tr><td width="107">2</td><td width="159">李四</td><td>男</td><td width="230">1981-08-11</td> <td width="133">计算机网络技术</td> <td width="131">654321</td> <td>202</td> </tr> <tr><td width="107">3</td><td width="159">刘五</td><td>女</td><td width="230">1982-07-10</td> <td width="133">计算机动漫</td> <td width="131">789123</td> <td>222</td> </tr> <tr><td width="107">4</td><td width="159">赵六</td><td>女 </td><td width="230">1983-06-14</td> <td width="133">计算机信息管理</td> <td width="131">321987</td> <td>222</td> </tr><% rs.MoveNextLoop%></table><%End If%>(4) 更新页面的实现主要代码:<body><h2 align="center">更新成员</h2><form name="frmInsert" method="POST" action=""><p align="center">其中带*号的必须填写<div align="center"><table border="1" width="80%"><tr><td>姓名</td><td><input type="text" name="txtName" size="20">*</td></tr><tr><td>性别</td><td><input type="radio" name="rdoSex" value="男" checked>男<input type="radio" name="rdoSex" value="女">女</td></tr><tr><td>出生日期</td><td><input type="text" name="txtAge" size="4"></td></tr><tr><td>专业</td><td><input type="text" name="txtTel" size="20">*</td></tr><tr><td>电话</td><td><input type="text" name="txtEmail" size="50"></td></tr><tr><td>宿舍号</td><td><input type="text" name="T1" size="20"></td></tr><tr><td></td><td><input type="submit" name="btnSubmit" value=" 确 定 "></td></tr></table></div></form><% '只要添加了姓名和电话,就添加记录If Request.Form("txtName")<>"" And Request.Form("txtTel")<>"" Then '以下首先获取提交的数据Dim ID,strName,strSex,csrq,zy,strTel,sshstrName=Request.Form("txtName")'获取姓名strSex=Request.Form("rdoSex")'获取性别 zyq=Request.Form("txtzy")获取专业 ssh=Request.Form("txtssh")获取宿舍号strTel=Request.Form("txtTel")'获取电话 ID=Request.Form("txtID")'以下连接数据库,建立一个Connection对象实例connDim conn,strConn Set conn=Server.CreateObject("ADODB.Connection") strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")conn.Open strConn'下面利用Execute方法添加记录Dim strSqlstrSql="Insert Into address(strName,strSex,intAge,strTel,strEmail,strIntro,dtmSubmit) Values('" & strName & "','" & strSex & "'," & intAge & ",'" & strTel & "','" & strEmail & "','" & strIntro & "',#" & Date() & "#)"conn.Execute(strSql) '添加成功后,则返回首页Response.Redirect "index.asp" End If%>(5) 删除页面的实现主要代码:<% '以下连接数据库,建立一个Connection对象实例connDim conn,strConn Set conn=Server.CreateObject("ADODB.Connection") strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("address.mdb")conn.Open strConn'以下删除记录,注意这里要用到由index.asp传过来的要删除的记录的IDDim strSqlstrSql="Delete From tbAddress Where ID=" & Request.QueryString("ID") conn.Execute(strSql)'删除完毕后,返回首页Response.Redirect "index.asp"