#asp课程设计(学生信息管理系统)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计题目………………………………………
二、课程设计目的………………………………………
三、设计概述……………………………………………
四、设计思想……………………………………………
五、设计任务……………………………………………
六、设计要求……………………………………………
七、设计步骤……………………………………………
八、设计代码……………………………………………
八、参考文献……………………………………………
十、设计体会…………………………………………….
一、课程设计题目
学生信息管理系统
二、课程设计目的
本课程的课程设计实际是学习完《ASP网络程序设计》课程后,进行的一次全面的综合训练,其目的在于使学生对于网络信息及网络信息发布有更加深入的理解,提高学生在实际操作中收集信息、对信息进行价值判断、进行信息整理、信息加工的能力,提高学生的网页设计与制作能力,使学生进一步掌握网络信息发布的原理及网络信息发布所需要的软件、硬件条件,使学生掌握利用软硬件资源发布一个具体网站的操作过程。
三、设计概述
学生信息管理系统是一个典型的信息管理系统。
作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。
现代人事工作的信息量越来越大,而且信息的密度不断提高,靠传统的管理方法和人工操作手段已经无法搞好人事管理工作。
而计算机作为数据处理系统,已逐渐成为人事管理现代化的重要手段,在人事管理中正在发挥着重要的作用。
并能使学校学生信息管理更加方便。
一方面对学校的众多学生的信息进行动态地管理、修改、添加、删除等操作十分方便快捷,不必再像原来一样准备一个巨大的档案库,节约了成本,提高了实效性,并减少了出错率。
四、设计思想
学生信息的管理是学校经常遇到的问题。
高校招生规模的逐步扩大和认识制度的改革,在校学生认识将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在计算机飞速发展的今天,应用数据库技术实现
学生信息的管理是可行而必要的工作,实现高校学生管理信息系统,既能够提高
工作效率,又可以提高工作水平。
五、设计任务
系统功能划分
“学生信息管理系统”共分三大的模块:档案管理系统模块、成绩管理系统模块、考试管理系统模块。
下面我将分别阐述各个模块的功能:
1.档案管理系统模块:
(1) 学生信息录入模块.对新增的学生信息进行录入操作。
(2) 学生信息查询模块.为使用者提供各种不同的查询途径,可根据个人需要进行查询。
(3) 学生信息删除和修改模块.先对需要进行操作的学生信息进行查询,然后对已存的学生信息进行删除或者修改操作。
(4)学生信息打印模块。
实现打印和打印预览功能,可以将查询结果以我们常见的形式打印出来,并可以自定义打印格式。
(5)班级管理模块。
对班级进行添加和删除操作。
2.成绩管理模块:
(1)录入成绩模块。
(2)删除/修改学生成绩模块。
3.考试管理模块:
(1)添加新考试模块。
(2)对已有的考试信息进行修改/删除模块。
(3)对考试科目进行添加/删除模块。
六、设计要求
1、针对所选题目的用户要求,设计数据库;
2、完成系统功能模块设计,能高效的管理学生信息。
3、遇有不能解决的技术问题应及时与指导老师取得联系。
七、设计步骤(包括流程图或框图)
(一)程序流程图
(二) 功能结构图
2. 班级(Class )表
3. 成绩(Score )表
4. 考试(Test )信息表
八、 设计代码
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/StudentConn.asp" --> <%
Dim rsGrade1__MMColParam
rsGrade1__MMColParam = "0"
If (Request("MM_EmptyValue") <> "") Then
rsGrade1__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim rsGrade1
Dim rsGrade1_numRows
Set rsGrade1 = Server.CreateObject("ADODB.Recordset")
rsGrade1.ActiveConnection = MM_StudentConn_STRING
rsGrade1.Source = "SELECT * FROM Class WHERE Grade = " + Replace(rsGrade1__MMColParam, "''", "''''") + " ORDER BY ClassID ASC"
rsGrade1.CursorType = 0
rsGrade1.CursorLocation = 2
rsGrade1.LockType = 1
rsGrade1.Open()
rsGrade1_numRows = 0
%>
<%
Dim rsGrade2__MMColParam
rsGrade2__MMColParam = "1"
If (Request("MM_EmptyValue") <> "") Then
rsGrade2__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim rsGrade2
Dim rsGrade2_numRows
Set rsGrade2 = Server.CreateObject("ADODB.Recordset")
rsGrade2.ActiveConnection = MM_StudentConn_STRING
rsGrade2.Source = "SELECT * FROM Class WHERE Grade = " + Replace(rsGrade2__MMColParam, "''", "''''") + " ORDER BY ClassID ASC"
rsGrade2.CursorType = 0
rsGrade2.CursorLocation = 2
rsGrade2.LockType = 1
rsGrade2.Open()
rsGrade2_numRows = 0
%>
<%
Dim rsGrade3__MMColParam
rsGrade3__MMColParam = "2"
If (Request("MM_EmptyValue") <> "") Then
rsGrade3__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim rsGrade3
Dim rsGrade3_numRows
Set rsGrade3 = Server.CreateObject("ADODB.Recordset")
rsGrade3.ActiveConnection = MM_StudentConn_STRING
rsGrade3.Source = "SELECT * FROM Class WHERE Grade = " + Replace(rsGrade3__MMColParam, "''", "''''") + " ORDER BY ClassID ASC"
rsGrade3.CursorType = 0
rsGrade3.CursorLocation = 2
rsGrade3.LockType = 1
rsGrade3.Open()
rsGrade3_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>学生信息查询</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2600.0" Name=GENERATOR>
<link href="home.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
function check1()
{
if(document.form1.StudentNum.value=="")
{
alert("你还没有填学号");
document.form1.StudentNum.focus();
return false;
}
}
function check2()
{
if(.value=="")
{
alert("你还没有填姓名");
.focus();
return false;
}
}
</script>
<script language="JavaScript" type="text/JavaScript">
function ChangeClass()
{
var i;
for(i=document.form3.ClassSelect.options.length-1;i>=0;i--)
{
document.form3.ClassSelect.options[i]=null;
}
switch(document.form3.Grade.selectedIndex)
{
case 0:
for(i=0;i<document.Classes.Grade1.options.length;i++)
{
document.form3.ClassSelect.options[i]=new
Option(document.Classes.Grade1.options[i].text,document.Classes.Grade1.options[i].value);
}
break;
case 1:
for(i=0;i<document.Classes.Grade2.options.length;i++)
{
document.form3.ClassSelect.options[i]=new
Option(document.Classes.Grade2.options[i].text,document.Classes.Grade2.options[i].value);
}
break;
case 2:
for(i=0;i<document.Classes.Grade3.options.length;i++)
{
document.form3.ClassSelect.options[i]=new
Option(document.Classes.Grade3.options[i].text,document.Classes.Grade3.options[i].value);
}
break;
}
}
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0>
<div id="Layer1" style="position:absolute; left:445px; top:220px; width:188px; height:64px; z-index:1; visibility: hidden;">
<form name="Classes" method="post" action="">
<select name="Grade1" id="select">
<option value="All">全级</option>
<%
While (NOT rsGrade1.EOF)
%>
<option
value="<%=(rsGrade1.Fields.Item("ClassID").Value)%>"><%=(rsGrade1.Fields.Item("grade").Va lue)%></option>
<%
rsGrade1.MoveNext()
Wend
If (rsGrade1.CursorType > 0) Then
rsGrade1.MoveFirst
Else
rsGrade1.Requery
End If
%>
</select>
<select name="Grade2" id="select2">
<option value="All">全级</option>
<%
While (NOT rsGrade2.EOF)
%>
<option
value="<%=(rsGrade2.Fields.Item("ClassID").Value)%>"><%=(rsGrade2.Fields.Item("grade").Va lue)%></option>
<%
rsGrade2.MoveNext()
Wend
If (rsGrade2.CursorType > 0) Then
rsGrade2.MoveFirst
Else
rsGrade2.Requery
End If
%>
</select>
<select name="Grade3" id="Grade3">
<option value="All">全级</option>
<%
While (NOT rsGrade3.EOF)
%>
<option
value="<%=(rsGrade3.Fields.Item("ClassID").Value)%>"><%=(rsGrade3.Fields.Item("ClassNam e").Value)%></option>
<%
rsGrade3.MoveNext()
Wend
If (rsGrade3.CursorType > 0) Then
rsGrade3.MoveFirst
Else
rsGrade3.Requery
End If
%>
</select>
</form>
</div>
<!--#include file="InfoManage_top.asp" -->
<TABLE width="760" border=0 align="center" cellPadding=0 cellSpacing=0>
<TBODY>
<TR>
<TD width=1 background="images/dotLine_h.gif"><IMG src="(1).gif" width=1></TD> <TD Width="100" align="center" bgcolor="#EEEEEE"> </TD>
<td width="10" bgcolor="#F2FBF2"></td>
<TD bgcolor="#F2FBF2"><img src=""><br>
<br>
<b>请输入查询的条件:</b>
<table width="300" border="0" cellspacing="0" cellpadding="5">
<form Name="form1" onSubmit="return check1()" action="InfoQuery1.asp" method="post">
<tr>
<td width="80" align="right" nowrap>按学号查询:</td>
<td width="150"> <input name="StudentNum" type="text" id="StudentNum" size="18" maxlength="8"></td>
<td width="44"> <input type="submit" name="Submit1" value="查询"></td>
</tr>
</form>
<form Name="form2" onSubmit="return check2()" action="InfoQuery1.asp" method="post">
<tr>
<td width="80" align="right" nowrap>按姓名查询:</td>
<td width="150"> <input type="text" name="Name" maxlength="8" size="18"></td>
<td> <input type="submit" name="Submit2" value="查询"></td>
</tr>
</form>
<form Name="form3" action="InfoQuery1.asp" method="post">
</form>
</table>
<p><b>注:</b><br>
1、可从学号、姓名查询方法任选其一进行查询。
<br>
<br>
2、支持模糊查询!</font><br>
例如:<br>
在学号查询框中输入08014,则查询结果为学号中包含“08014”的学生<br>
在姓名中输入“小”,则查询结果为姓名中包含有“小”的学生<br>
<br>
<br>
</p></td>
<TD width=1 background="images/dotLine_h.gif"><IMG src="(1).gif" width=1></TD> </TR>
<tr>
<TD height="1" colspan="7" background="images/dotLine_w.gif"><IMG height=1 src="(1).gif" width=100></TD>
</tr>
</TBODY>
</TABLE>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
</td>
</tr>
</table></BODY>
</HTML>
<%
rsGrade1.Close()
Set rsGrade1 = Nothing
%>
<%
rsGrade2.Close()
Set rsGrade2 = Nothing
%>
<%
rsGrade3.Close()
Set rsGrade3 = Nothing
%>
<%
'' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="Login.asp"
MM_grantAccess=false
If Session("MM_UserName") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>
九、参考文献
肖志刚、张维、韩璐 .ASP 动态网页设计运用培训教程[M]. 电子工业出版社,2004年.
王国荣. ASP网页制作教程[M]. 人民邮电出版社.2000年
申莉莉. 数据库系统与ACCESS教程[M]. 清华大学出版社.2003年.
史济民、汤观全. ACCESS应用系统开发教程[M]. 清华大学出版社.2004年. 十、设计体会
在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
对与学生信息管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。
因此在整个设计过程中大部分时间是用在程序上面的。
很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。
因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。
通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
我认为这次的课程设计意义很深。