基于ASP+ACCESS的学生信息管理系统(源代码及全套资料).docx
《基于ASP+ACCESS的学生信息管理系统(源代码及全套资料).docx》由会员分享,可在线阅读,更多相关《基于ASP+ACCESS的学生信息管理系统(源代码及全套资料).docx(15页珍藏版)》请在冰点文库上搜索。
摘 要
随着科学技术的发展,计算机领域不断取得新的研究成果。
并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在学校里,随着不同高校的的不断扩大和招生人数的不断增加,要处理大量的学生数据信息显得尤为的重要。
学生的信息管理是学校工作中一项重要的内容。
本系统论文主要是管理学生的资料。
重点介绍其功能:
信息添加、信息修改、信息的删除及信息查询。
使用进行静态页面设计,应用ASP程序进行后台管理操作,并用Access进行后台数据库的连接设计。
主要是以四大功能进行系统的设计和实现。
关键词:
DreamweaverMX2004 系统 站点设计 ASP Access数据库
1.1 开发工具的介绍
1.1.1ASP
ASP(ActiveSeverPages动态网页)是微软公司推出的一种用以取代CGI(CommonGatewayInterface)技术。
目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。
ASP是在服务器端脚本编译环境,使用它可以创建和运行动态、交互的Web服务器应用程序。
ASP可以与HTML页、脚本命令和ActiveX组件组合创建交互的Web页和基于Web的功能强大的应用程序。
ASP应用程序很容易开发和修改。
ASP是一个位于服务器端的脚本运行环境。
通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互 式动态网页,包括使用HTML 表单收集和处理信息、上传与下载等。
通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供“静态”(static)的主页内容。
所谓“静态”,是指站点的主页内容是“固定不变”的。
一个“静态”的站点,若要更新主页的内容,必须手动更新其 HTML的文件数据。
而随着Web技术的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求而生成报表等。
站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。
根据用户请求生成动态主页的传统方法有CGI、ISAPI等。
CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。
当同时有很多请求时,程序挤占系统资源,造成效率低下。
ISAPI针对这一缺点进行了改进,利用dll(动态链接库技术),以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。
这两种技术和另一普遍使用的开发动态网页的技术 Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
ASP使用的 ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。
1.1.2Access
Access是一个数据库管理系统,它之所以被集成到Office中而不是VisualStudio中,是因为它与其它的数据库管理系统(如SQLServer2000)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。
而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。
Access可以实现建立数据库、报表,以及对数据库、报表的修改、查询等功能。
Access随着Windows操作系统和Offices办公自动化应用软件的普及,Access各个版本变得与其他Office成员集成得越来越紧密。
Office2000的所有成员和VisualBasic6.0现在共享的是同样的VisualBasicforApplications(VBA)版本6.0。
Access2000最后采纳了Office2000VBA编辑器(也叫做集成开发环境或者IDE)用于编写VBA代码来自动操作Access应用。
不论好坏,Access2000还共享了Office2000新的超文本标记语言(HTML)帮助系统。
Access最主要用的是创建数据库,并建立相应的软件的连接。
如ODBC的连接。
第2章 系统的需求分析和设计
2.1 系统的需求分析
如果我国各个学校管理水平还停留在纸介质的基础上,已不能适应时代的发展,因为它浪费了许多人力和物力,在当今的信息时代这种管理方法必然被计算机为基础的信息管理所取代。
学生信息管理系统的开发,适合任何一个大中小学校的管理,
该学生信息管理系统归纳起来有四点:
1.学生信息的插入。
可以插入不同地区的学生的姓名、个人联系方法、所在院系、班级及相关情况。
实现了信息的动态管理。
2.学生信息的查询。
学生的信息使管理员可以通过多种方式(年级、班级、姓名、学号、所在系等等)的查询,就可以直接查看自己需要的学生的相关信息。
实现了信息的动态管理。
3.学生信息的修改。
管理人员可以随时对转入、转出的学生进行修改,比如学号、所在系等等实现了信息的动态管理。
3.学生信息的删除。
管理人员可以随时对转入、转出的学生进行删除,比如学号、所在系等等实现了信息的动态管理。
好处为:
1.可以存储怕有的学生档案,安全、高效;
2.只需一到二名档案录入员即可操作系统,节省大量人力;
3.可以迅速查找到所需要的信息。
其功能结构如图:
学生信息管理系统
登录
学生资料管理
添加资料
修改资料
删除资料
查询资料
第3章 系统的实现
3.1 数据库存设计
数据库是整个学生信息管理系统的核心部分。
只有通过数据库的调用才能进行学生信息更新处理、插入资料、删除资料和查询资料,方便管理进行管理,减少管理员的工作量以及更多的人力。
3.1.1管理员数据库设计
Users表是用于管理员登陆时用于验证管理员身份的,这样使前后台分隔开,保护网站的安全,阻止除了管理员之外的任何人进入后台,威胁到整个网站的安全。
包括用户名、密码和访问权限等等。
其数据库如图:
3.1.2学生信息数据库设计
学生信息数据库是存放学生基本信息资料,如学号、姓名、出生日期、所在系及一些个人的联系方式等等。
其数据库如下:
3.2 登录
3.2.1系统总模型
学生信息管理系统总的模型主要是说明系统注册后才能登录,登录后进么主页面后实现主要有学生资料管理、管理员管理以及更改级别,其中学生资料管理主要实现学生信息的添加、修改、删除和查询功能。
管理员管理是只有权限最高的管理员才能进行删除管理员和更改权限的操作。
其结构图如下:
注册
登录
主页面
学生资料管理
管理员设置
更改级别
添加资料
修改资料
删除资料
查询资料
3.2.2登录界面
(1)只有通过index.asp登录界面才能进入主页面进行相应学生信息的操作。
(2)进入登录界面:
通过注册页面让用户提交注册并保存在user表里,并通过登录页面读取用户提交的登录信息与保存在数据库中的数据进行比较以验证是否成功登录。
图1:
用户登录界面
3.2.3主页面的实现
图2:
主页面
学生信息管理系统主要是与数据库的连接,然后数据库的连接必须使用ADO的内置Connection对象,并且调用Recordset对象来进行与数据库的查找、删除、更改等功能,具体脚本如下:
<%
dimusername,passworddimcnn,rst,ssql
username=trim(request.form("txtusername"))password=trim(request.form("txtpassword"))login=request.form("btnlogin")
'iflogin=""andsession("username")=""thenresponse.redirect"login.htm"
if(username=""orpassword="")andlogin<>""thenresponse.redirect"login.htm"
%>
<%
'ifseesion("username")=""or(session("username")<>usernameandseesion("username")<>"")thensetcnn=server.createobject("adodb.connection")
setrst=server.CreateObject("adodb.recordset")cnn.connectionstring="provider=microsoft.jet.oledb.4.0;datasource="&server.MapPath("Date\date.mdb")cnn.open
ssql="select*fromuserswhereuser_name='"&username&"'andmm='"&password&"'"setrst=cnn.execute(ssql,,adcmtext)
ifrst.eofthen
response.Write"UsernameorPasswordiserror.sorry!
"response.write"
重新登录(restartlogin)"elsesession("username")=rst("user_name")session("level")=rst("purview_level")
endif
%>
3.3 后台主要功能的实现
3.3.1添加学生信息资料
在学生信息管理系统首页(index.asp)单击“添加资料”链接,可以进入addinfo.asp页面,在该页面中输入学生资料,并提交给saveinfo.asp页面进行添加,将数据保存到数据库中。
界面如下:
图1添加页面addinfo.asp
实现功能脚本如下:
--#includefile="Date\adovbs.inc"-->
<%
Dimcnn,rst,sSQL
DimStudentNum,StudentName,StudentSex,BirthDate,Department
DimSpeciality,Grade,sClass,ParentName,HomeAddr,HomePhone,RemarkStudentNum=Trim(Request.Form("txtStudentNum"))
StudentName=Trim(Request.Form("txtStudentName"))StudentSex=Request.Form("optStudentSex")
BirthDate=Trim(Request.Form("txtBirthDate"))Department=Trim(Request.Form("txtDepartment"))Speciality=Trim(Request.Form("txtSpeciality"))Grade=Trim(Request.Form("txtGrade"))
sClass=Trim(Request.Form("txtClass"))
ParentName=Trim(Request.Form("txtParentName"))HomeAddr=Trim(Request.Form("txtHomeAddr"))HomePhone=Trim(Request.Form("txtHomePhone"))Remark=Trim(Request.Form("txtRemark"))
IfStudentNum=""OrStudentName=""ThenResponse.Redirect"addInfo.asp"
EndIf
Setcnn=Server.CreateObject("ADODB.Connection")Setrst=Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString="PROVIDER=microsoft.jet.oledb.4.0;DATASOURCE="&server.mappath("Date\date.mdb")cnn.Open
sSQL="SELECTstudent_numFROMstudentsWHEREstudent_num='"&StudentNum&"'"Setrst=cnn.Execute(sSQL,,adCmdText)
IfNotrst.EOFThen
Response.Write"
学号“"&rst("student_num")&"”已经存在,请重新输入!
"Else
sSQL="INSERTintostudents(student_num,student_name,"&"student_sex,birthdate,department,speciality,"sSQL=sSQL&"grade,class,home_addr,parent_name,"
sSQL=sSQL&"home_phone,remark)VALUES('"
sSQL=sSQL&StudentNum&"','"&StudentName&"','"&StudentSex&"','"&BirthDate&"','"sSQL=sSQL&Department&"','"&Speciality&"','"&Grade&"','"&sClass&"','"
sSQL=sSQL&HomeAddr&"','"&ParentName&"','"&HomePhone&"','"&Remark&"')"cnn.ExecutesSQL,,adCmdText
%>
数据保存成功!
<%EndIf%>
3.3.2修改学生资料
在学生信息管理系统首页(index.asp)单击“修改资料”链接,可以进入editinfo.asp页面,在该页面中输入学生资料,并提交给editinfo2.asp页面进行修改,将数据进行修改操作中。
界面如下:
图2修改页面editinfo.asp
实现功能脚本如下:
--#includefile="Date\adovbs.inc"-->
<%
Dimcnn,rst,sSQL,StuNum
StuNum=Trim(Request.Form("txtStuNum"))
Setcnn=Server.CreateObject("ADODB.Connection")Setrst=Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString="PROVIDER=microsoft.jet.oledb.4.0;DATASOURCE="&server.mappath("Date\date.mdb")cnn.Open
IfStuNum<>""Then
sSQL="SELECT*FROMstudentsWHEREstudent_num='"&StuNum&"'"Setrst=cnn.Execute(sSQL,,adCmdText)
Ifrst.EOFThen
Response.Write"
没有找到符合条件的记录!
"Else%>