基于asp+access的学生管理系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于asp+access的学生管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 本系统论文主要是管理学生的资料。重点介绍其功能:信息添加、信息修改、信息的删除及信息查询。使用进行静态页面设计,应用ASP程序进行后台管理操作,并用Access进行后台数据库的连接设计。主要是以四大功能进行系统的设计和实现。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:5506个字14页
包含内容:整套源码+完整毕业论文
3、关键词:
Dreamweaver MX 系统 站点设计 ASP Access 数据库4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1.1 开发工具的介绍
1.1.1 ASP
ASP(Active Sever Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface)技术。目前,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.2 Access
Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统(如SQL Server 2000)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。
Access可以实现建立数据库、报表,以及对数据库、报表的修改、查询等功能。
第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对象来进行与数据库的查找、删除、更改等功能,具体脚本如下:
<%
dim username,password
dim cnn,rst,ssql
username=trim(request.form("txtusername"))
password=trim(request.form("txtpassword"))
login=request.form("btnlogin")
'if login="" and session("username")="" then response.redirect "login.htm"
if (username="" or password="" ) and login<>"" then response.redirect "login.htm"
%>
<%
'if seesion("username")="" or (session("username")<>username and seesion("username")<>"") then
set cnn=server.createobject("adodb.connection")
set rst=server.CreateObject("adodb.recordset")
cnn.connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("Date\date.mdb ")
cnn.open
ssql="select * from users where user_name='"&username&"' and mm ='"&password&"' "
set rst =cnn.execute(ssql, ,adcmtext)
if rst.eof then
response.Write"<p align=center><b>Username or Password is error.sorry!</b></p>"
response.write"<p align=center><a href=login.asp>重新登录(restart login)</a></p>"
else
session("username")=rst("user_name")
session("level")=rst("purview_level")
end if
%>
3.3 后台主要功能的实现
3.3.1 添加学生信息资料
在学生信息管理系统首页(index.asp)单击“添加资料”链接,可以进入addinfo.asp页面,在该页面中输入学生资料,并提交给saveinfo.asp页面进行添加,将数据保存到数据库中。界面如下:
图1 添加页面addinfo.asp
实现功能脚本如下:
<!-- #include file="Date\adovbs.inc" -->
<%
Dim cnn, rst, sSQL
Dim StudentNum, StudentName, StudentSex, BirthDate, Department
Dim Speciality, Grade, sClass, ParentName, HomeAddr, HomePhone, Remark
StudentNum = 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"))
If StudentNum = "" Or StudentName = "" Then
Response.Redirect "addInfo.asp"
End If
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "PROVIDER=microsoft.jet.oledb.4.0;DATA SOURCE=" & server.mappath("Date\date.mdb")
cnn.Open
sSQL = "SELECT student_num FROM students WHERE student_num='" & StudentNum & "'"
Set rst = cnn.Execute(sSQL, , adCmdText)
If Not rst.EOF Then
Response.Write "<P>学号“" & rst("student_num") & "”已经存在,请重新输入!</P>"
Else
sSQL = "INSERT into students(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.Execute sSQL, , adCmdText
%>
<HR NOSHADE SIZE = "1" COLOR = "red">
<P class="STYLE1">数据保存成功!</P>
<% End If %>
3.3.2 修改学生资料
在学生信息管理系统首页(index.asp)单击“修改资料”链接,可以进入editinfo.asp页面,在该页面中输入学生资料,并提交给editinfo2.asp页面进行修改,将数据进行修改操作中。界面如下:
图2 修改页面editinfo.asp
实现功能脚本如下:
<!-- #include file="Date\adovbs.inc" -->
<%
Dim cnn, rst, sSQL, StuNum
StuNum = Trim(Request.Form("txtStuNum"))
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "PROVIDER=microsoft.jet.oledb.4.0;DATA SOURCE=" & server.mappath("Date\date.mdb")
cnn.Open
If StuNum <> "" Then
sSQL = "SELECT * FROM students WHERE student_num='" & StuNum & "'"
Set rst = cnn.Execute(sSQL, , adCmdText)
If rst.EOF Then
Response.Write "<P><FONT COLOR = red>没有找到符合条件的记录!</FONT></P>"
Else
%>
<FORM METHOD = "post" ACTION = "editInfo2.asp">
<TABLE border="1" align="center" cellpadding="2" cellspacing="1" bordercolor="#0099FF" BGCOLOR = "#B5E6FF">
<TR ALIGN = "center">
<TH COLSPAN = "6" BGCOLOR = "#0034FF">
<FONT COLOR = "#FFFFFF">修改学生资料</FONT></TH>
</TR>
<TR>
<TD ALIGN = "right">学号:</TD>
<TD><INPUT TYPE = "text" NAME = "txtStudentNum" SIZE = "12"
VALUE = <% = rst("student_num")%>>
<INPUT TYPE = "hidden" NAME = "txtOldStuNum" SIZE = "12"
VALUE = <% = rst("student_num")%>></TD>
<TD ALIGN = "right">姓名:</TD>
<TD><INPUT TYPE = "text" NAME = "txtStudentName" SIZE = "12"
VALUE = <% = rst("student_name")%>></TD>
<TD ALIGN = "right">性别:</TD>
<TD><INPUT TYPE = "radio" VALUE = "男"
NAME="optStudentSex" <% = IIf( rst("student_sex") = "男") %>>男
<INPUT TYPE="radio" VALUE="女"
NAME="optStudentSex" <% = IIf( rst("student_sex") = "女") %>>女</TD>
</TR>
<TR>
<TD ALIGN = "right">出生日期:</TD>
<TD><INPUT TYPE = "text" NAME = "txtBirthDate" SIZE = "12"
VALUE = <% = rst("birthdate") %>></TD>
<TD ALIGN = "right">所在院系:</TD>
<TD><INPUT TYPE = "text" NAME = "txtDepartment" SIZE = "12"
VALUE = <% = rst("department") %>></TD>
<TD ALIGN = "right">所在专业:</TD>
<TD><INPUT TYPE = "text" NAME = "txtSpeciality" SIZE = "12"
VALUE = <% = rst("speciality") %>></TD>
</TR>
<TR>
<TD ALIGN = "right">年级:</TD>
<TD><INPUT TYPE = "text" NAME = "txtGrade" SIZE = "12"
VALUE = <% = rst("grade") %>></TD>
<TD ALIGN = "right">班级:</TD>
<TD><INPUT TYPE = "text" NAME = "txtClass" SIZE = "12"
VALUE = <% = rst("class") %>></TD>
<TD ALIGN = "right">家长姓名:</TD>
<TD><INPUT TYPE = "text" NAME = "txtParentName" SIZE = "12"
VALUE = <% = rst("parent_name") %>></TD>
</TR>
<TR>
<TD ALIGN = "right">家庭住址:</TD>
<TD COLSPAN = "3"><INPUT TYPE = "text"
NAME = "txtHomeAddr" SIZE = "33" VALUE = <% = rst("home_addr") %>></TD>
<TD ALIGN = "right">住宅电话:</TD>
<TD><INPUT TYPE = "text" NAME = "txtHomePhone" SIZE = "12"
VALUE = <% = rst("home_phone") %>></TD>
</TR>
<TR>
<TD ALIGN = "right">备注:</TD>
<TD COLSPAN = "5"><TEXTAREA ROWS = "3" NAME = "txtRemark"
COLS = "58"><% = rst("remark") %></TEXTAREA></TD>
</TR>
<TR ALIGN = "center">
<TD COLSPAN = "6"><INPUT TYPE = "submit" VALUE = "保存数据"
NAME = "btnSave">
<INPUT TYPE="reset" VALUE = "全部重写"
NAME = "btnReset"></TD>
</TR>
</TABLE>
</FORM>
<%
End If
End If
%>
Editinfo2.asp页面脚本如下:
<!-- #include file="Date\adovbs.inc" -->
<%
Dim cnn, rst, sSQL
Dim StudentNum, StudentName, StudentSex, BirthDate, Department
Dim Speciality, Grade, sClass, ParentName, HomeAddr, HomePhone, Remark
NewStuNum = Trim(Request.Form("txtStudentNum"))
OldStuNum = Trim(Request.Form("txtOldStuNum"))
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"))
If NewStuNum = "" Or StudentName = "" Then
Response.Redirect "editInfo.asp"
End If
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "PROVIDER=microsoft.jet.oledb.4.0;DATA SOURCE=" & server.mappath("Date\date.mdb")
cnn.Open
sSQL = "UPDATE students SET student_num='" & NewStuNum & "', student_name='"
sSQL = sSQL & StudentName & "', student_sex='" & StudentSex & "', birthdate='"
sSQL = sSQL & BirthDate & "', department='" & Department & "', speciality='"
sSQL = sSQL & Speciality & "',grade='" & Grade & "', class='" & sClass & "', home_addr='"
sSQL = sSQL & HomeAddr & "', parent_name='" & ParentName & "', home_phone='"
sSQL = sSQL & HomePhone & "', remark='" & Remark & "' "
sSQL = sSQL & " WHERE student_num='" & OldStuNum & "'"
cnn.Execute sSQL, , adCmdText
%>
3.3.3 删除资料
在学生信息管理系统首页(index.asp)单击“删除资料”链接,可以进入deleteinfo.asp页面,在该页面中输入一个指定的学号并单击”提交”按钮,如果找到匹配的学生记录,则以表格形式显示出该学生的详细资料,此时发给deletetinfo2.asp页面进行删除操作。
3.3.4 查询资料
在学生信息管理系统首面上单击”查询资料”链接,即可进入browseinfo.asp页面,在该页面中首先可以选择一种查询方式,然后输入关键字的值,并单击”查询”铵钮,如果找到匹配的学生信息记录,则以表格的形式显示出来简要资料,其中学号以超链接形式显示.如果想要查看某个学生的详细资料,单击相应的学号,以打开detailinfo.asp页面,显示出该生的详细资料,如图:
图6 查询页面browsetinfo.asp
其功能脚本如下:
<!-- #include file="Date\adovbs.inc" -->
<%
Dim cnn, rst, sSQL, currentPage, rowCount, i
If Request.Form("btnSubmit") = "" Then
Response.End
End If
currentPage = Request.QueryString("currentPage")
If currentPage = "" Then
currentPage = 1
End If
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "PROVIDER=microsoft.jet.oledb.4.0;DATA SOURCE=" & server.mappath("Date\date.mdb")
cnn.Open
rst.CursorType = adOpenStatic
rst.PageSize = 5
Field = Request.Form("lstFld")
Value = Trim(Request.Form("txtValue"))
If Field = "all" Then
sSQL = "SELECT * FROM students ORDER BY student_num"
End If
If Field <> "all" And Value <> "" Then
sSQL = "SELECT * FROM students WHERE " & Field & "='" & Value & "' ORDER BY student_num"
End If
rst.Open sSQL, cnn
If rst.EOF Then
Response.Write "<P><FONT COLOR = red>没有找到符合条件的记录!</FONT></P>"
Else
rowCount = 0
%>
<TABLE WIDTH = "40%" BORDER = "1" cellpadding="2" cellspacing="1" bordercolor="#0099FF">
<CAPTION><B>查询结果:</B>共<% = rst.RecordCount %>个学生
<TR>
<TH>学号</TH><TH>姓名</TH><TH>性别</TH><TH>出生日期</TH>
</TR>
<% While Not rst.EOF And rowCount < rst.PageSize %>
<TR>
<TD><A HREF=detailInfo.asp?StuNum=<% = rst("student_num") %>>
<% = rst("student_num") %></A></TD>
<TD><% = rst("student_name") %></TD>
<TD><% = rst("student_sex") %></TD>
<TD><% = rst("birthdate") %></TD>
</TR>
<%
rowCount = rowCount + 1
rst.MoveNext
Wend %>
</TABLE><P>
每页<% = rst.PageSize %>个学生 当前页次:<% = currentPage %>/<% = rst.PageCount %>页
<% For i = 1 To rst.PageCount
If i = CInt(currentPage) Then %>[<FONT COLOR = "red"><%= i %></FONT>]
<% Else %>
[<A HREF = "browseInfo.asp?currentPage=<%= i %>"><%= i %></A>]
<%
End If Next End If
%>
3.3.5 访问权限管理
系统管理员的权限级别为3,以系统管理员身份登录学生信息管理系统时,可以首面上看到“更改级别”链接,单击即可进入changlevel.asp页面中,可以进行对某个用户的权限级别进行修改。图如下:
功能脚本如下:
<%
Dim cnn, rts, sSQL, UserName, Level
If Session("UserName") = "" Or Session("Level") <> 3 Then
Response.Write "<P>你没有访问本页面的权限!</P>"
Response.End
End If
UserName = Trim(Request.Form("txtUserName"))
Level = Request.Form("optLevel")
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "PROVIDER=microsoft.jet.oledb.4.0;DATA SOURCE=" & server.mappath("Date\date.mdb")
cnn.Open
sSQL = "SELECT * FROM users WHERE user_name='" & UserName & "'"
Set rst = cnn.Execute(sSQL, ,adCmdText)
%>
<%
If UserName <> "" And rst.EOF Then
Response.Write "<FONT COLOR = red>用户“" & UserName & "”不存在!</FONT>"
End If
If UserName <> "" And Not rst.EOF Then
sSQL = "UPDATE users SET purview_level=" & Level & " WHERE user_name='" & UserName & "'"
cnn.Execute sSQL, , adCmdText
Response.Write "用户“" & UserName & "”的权限级别已被更改为" & Level & "级!"
End If
%>
第4章 结论
经过将近一个多月的学生信息管理系统的课程设计,其功能基本符合用户需求,能够完成学生信息管理的添加信息、删除信息、修改信息及查询资料等功能。通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生信息处理管理进行管理、 输入、输出、查找的所需操作,使零乱的学生信息能够更加具体化,直观化、合理化地适用于教育方面与大中小型的学校管理,对学生的资料可以随时随地的输入、输出、查找、修改。也同时增加了管理员权限管理的设置,使得整个系统有了更好了防护。虽然本系统是参考书上的例子,但我们也从发现问题,然后再进行相应的分析问题,到最后解决问题.使我在这个学期里最好的自我检察,这次系统的开发增强了我的操作能力和分析逻辑能力。可能该系统还存在着许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。
在本次的学期论文中,在学习ASP动态网页设计的基础有深刻的了解,也有了更的巩固和加深,更对上学期DREAMWEAVER起到温故知新的作用。这次的学期论文相当于是一次毕业论文,是一个必不可少的环节。深知:不管系统设计还是论文的设计不仅需要足够信心和耐心,还需要相当多的专业知识理论与实践操作能力。在这次的论文设计中,使用受益匪浅,也是对自我的一种检察,自知要学的东西还很多,它对于我以后的毕业论文起到了无可比拟的作用。
谢辞
省略
参考文献
[1] 赵增敏,朱粹丹,赵朱曦.ASP动态网页设计
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于asp+access的学生管理系统设计与实现(源码+文档)_asp_BS架构_学生管理系统.zip |