学生晚归与考勤管理信息系统开发文档.docx
- 文档编号:10978836
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:62
- 大小:1.22MB
学生晚归与考勤管理信息系统开发文档.docx
《学生晚归与考勤管理信息系统开发文档.docx》由会员分享,可在线阅读,更多相关《学生晚归与考勤管理信息系统开发文档.docx(62页珍藏版)》请在冰豆网上搜索。
学生晚归与考勤管理信息系统开发文档
学生晚归与考勤管理信息系统开发文档
系统分析及设计
3.1系统预期用户
本系统的预期用户是任何想了解学生在校的考勤情形的用户。
3.2功能说明
学生晚归与考勤治理系统是目前广西机电职业技术校园网在线系统之一。
本软件将各个学院各个部门联系到一起,便于学生晚归、考勤的治理,同时,还能够让学生通过查询自己的晚归与考勤记录,了解到自己的纪律情形。
在线图书销售系统要实现的功能模块要紧有:
该系统分为晚归情形治理、考勤情形治理与后台治理三大功能模块。
系统功能模块的划分
图1系统功能架构图
(2)差不多处理流程
以下图是系统差不多处理流程图。
图2系统差不多处理流程
3.3数据库设计
本系统采纳SQLServer2005作为后台数据库。
依照以上功能,新建一名为Attendance的数据库,其中共包括9个数据表,分别是
部门表(department):
专业信息表(special):
班级信息表(class):
学生信息表(stuInfo):
区/门信息表〔region〕:
晚归情形表〔late〕:
考勤情形表〔attendance〕:
考勤类型表〔attendtype〕:
用户信息表〔admin〕:
各个数据表的关系〔要紧是主键与外键的约束关系〕如以下图所示:
数据库创建脚本参考文件:
〝学生晚归与考勤治理信息系统数据库建库脚步.sql〞
3.4数据库连接
1、建议将数据库拷入网站内的App_Data名目内,然后将数据库连接字符串写入到Web.config,参考代码如下:
测试数据库连接是否正常
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassDBConnTest:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
stringconstr=ConfigurationManager.AppSettings["ConnectionStr"];
SqlConnectionconn=newSqlConnection(constr);
conn.Open();//打开数据库连接
Response.Write("数据库连接成功!
");
conn.Close();//关闭数据库连接
Response.Write("数据库关闭成功!
");
}
}
体会证,Attendance.mdf数据库连接正常
2、将常用数据库操作代码写入公共类DB中,其中包含以下各自定义方法,参考代码如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
///
///DB类为一个专门进行数据库操作的类
///包括连接数据库,更新数据库,查询数据库这些操作
///
publicclassDB
{
///
///DB()为DB类的构造方法
///
publicDB()
{
}
///
///定义返回数据库连接对象SqlConnection方法
///
///
///SqlConnection对象
///
publicSqlConnectiongetCon(){
StringstrCon=ConfigurationManager.AppSettings["ConnectionStr"];//从配置文件web.cofig里面读取数据库的连接字符串
returnnewSqlConnection(strCon);//返回数据库连接对象
}
///
///定义更新数据库的方法
///
///
///参数cmdStr为要执行更新数据库的SQL语句,包含增加,修改,删除这三种SQL语句
///
///
///数据库更新成功那么返回1,更新失败那么返回0
///
publicintsqlEx(stringcmdStr){
SqlConnectioncon=getCon();
con.Open();//打开数据库连接
SqlCommandcmd=newSqlCommand(cmdStr,con);//创建执行SQL语句的命令对象SqlCommand
try
{
cmd.ExecuteNonQuery();
return1;//成功返回1
}
catch
{
return0;//失败返回0
}
finally
{
con.Dispose();//开释资源
}
}
///
///定义查询数据库信息的方法
///
///
///参数cmdStr为执行查询时的书写的SQL语句
///
///
publicDataTablereDt(stringcmdStr){
SqlConnectioncon=getCon();//连接数据库
con.Open();
SqlDataAdapterda=newSqlDataAdapter(cmdStr,con);//创建数据适配器对象
DataSetds=newDataSet();//创建数据集对象
da.Fill(ds);//将储存在数据适配器对象中的数据填充到数据集对象中
return(ds.Tables[0]);//返回数据集对象中有记录的那个表
}
///
///定义阅读数据的方法
///
///
///参数str为执行查询操作时的SQL语句
///
///
///返回一个数据阅读对象
///
publicSqlDataReaderreDr(stringstr){
SqlConnectioncon=getCon();
con.Open();
SqlCommandcmd=newSqlCommand(str,con);
SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);//通过调用Command对象的ExecuteReader()方法创建DataReader对象,CommandBehavior.CloseConnection表示?
returndr;
}
}
功能模块的实现
用户注册功能的实现:
实现逻辑:
用户注册信息写入到admin表,此注册功能是专门针对本校的学生开发注册的,假如不是本校的学生,是没有注册的权限的,所有注册时要依照学生输入的真实姓名和学号进行注册,假如找不到对应的学生的名字,就不承诺用户进行注册,假如用户差不多注册过一次了,就直截了当告诉用户差不多注册过了,无需再次注册了,并自动为用户跳转到登录页面,假如用户是第一次注册,就把用户的注册信息写入到admin表中,注册成功后也跳转到登录页面让用户进行登录。
用户注册页面Register.aspx如以下图所示:
学生进入此页面进行注册,正确填写了学生姓名和学生学号以及验证码了以后,点击提交按钮完成帐户注册,而在后台,要进行数据的合法性判定,第一进行的是验证码的正确性判定,把用户输入的验证码和储存的Session对象中的验证码取出来作比较,假如验证码输入正确才连续执行检查该注册用户是否是本校的学生,以及该用户是否差不多被注册了,后台的处理代码如下所示:
Register.aspx.cs
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassstudent_Register:
System.Web.UI.Page
{
DBdb=newDB();
protectedvoidPage_Load(objectsender,EventArgse)
{
this.ImageButton1.ImageUrl="image.aspx";//image.aspx是一个显示验证码的Web页面
}
protectedvoidbtn_submit_Click(objectsender,EventArgse)
{
stringcode=txtCheckCode.Text.Trim();
if(code!
=(string)Session["image"])
{
Response.Write("");
//Response.Redirect("Register.aspx");假如使用这种跳转方式,那么上面的javascript是无法运行的,因为还没有来得及运行就页面就差不多跳转了
Response.Write("");
}
else{
stringstu_Name=txtUserName.Text.Trim();
stringstu_Id=txtstuID.Text.Trim();
stringsql2="selectstu_namefromstuInfowherestu_name='"+stu_Name+"'";//使用这条SQL语句检查要注册的人是否是本校的学生,假如是,才承诺其注册,假如不是,就不承诺其注册
SqlDataReaderdr=db.reDr(sql2);
if(dr.Read())
{
dr.Close();//关闭SqlDataReader
stringsq="select*fromadminwherelogin_name='"+stu_Name+"'";//假如差不多证实是本校的学生,就再判定该学生是否差不多注册过了
dr=db.reDr(sq);//再次使用SqlDataReader
if(dr.Read())
{
Response.Write("");
Response.Write("");
}
else{
intpower=3;//假如差不多证实要注册的人是本校的学生,就直截了当给该学生给予使用权限
stringsql="insertintoadmin(login_name,login_pwd,admin_power)values('"+stu_Name+"','"+stu_Id+"',"+power+")";
//Response.Write(sql);
//Response.End();
try
{
intflag=db.sqlEx(sql);
if(flag>0)
{
Response.Write("");
Response.Write("");
}
else{
Response.Write("");
}
}
catch(System.Exceptionee){
Response.Write("");
}
}
}
else{
Response.Write("");
txtUserName.Text="";
txtstuID.Text="";
}
}
}
protectedvoidbtn_reset_Click(objectsender,EventArgse)
{
txtstuID.Text="";
txtUserName.Text="";
}
}
用户登录功能的实现
实现逻辑:
用户进入登录页面后,输入相关的用户名和密码进行登录,假如用户名和密码都正确了,表示该用户是合法用户,就承诺其进入系统的主页进行相关的系统操作,假如用户名和密码的验证不通过,就不承诺其进入系统,用户输入用户名和密码后,在后台的处理过程中第一会从数据库Attendance.mdf的admin表取出相应的用户名和用户输入的用户名进行匹配,假如用户名匹配成功了,就把数据表中储备的密码和用户输入的密码进行比对,假如密码也验证通过了,才承诺用户进入系统首页,用户名和密码中任意一项匹配假如不通过,都不承诺其登录。
登录该系统时,有三种不同身份的使用者,分别为治理员,记录员和学生,不同的身份就对应着不同的使用权限。
使用权限的限制依照不同身份的登录者生成不同的动态导航,以此到达限定使用者的权限的目的。
登录页面的设计如下:
假如登录的身份是治理员,那么显示如下的导航:
假如登录的身份是记录员,那么显示如下的导航:
假如登录的身份是学生,那么显示如下的导航:
关于治理员而言,其拥有的使用权限是最多的,但没有晚归登记和考勤登记的权限,登记权限只有记录员才有,而关于学生而言,只有查看相关记录的权限,别的权限都没有,因此通过这种依照不同登录者的身份生成不同的导航就能够限定了登录者的使用权限了。
那个地点难就难在了假如依照登录者的身份动态生成不同的导航信息。
相关代码如下:
用户登录的后台代码:
login.aspx.cs
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclasslogin:
System.Web.UI.Page
{
DBdb=newDB();
protectedvoidPage_Load(objectsender,EventArgse)
{
ImageButton1.ImageUrl="image.aspx";//让页面加载时就显示验证码图片
}
protectedvoidbtnRegister_Click(objectsender,EventArgse)
{
Response.Redirect("Register.aspx");//点击注册按钮后,直截了当跳转到注册页面,那个地点需要注意一个小问题,由于文本框差不多使用了验证控件,因此要想让按钮的触发事件不触发验证控件时,把按钮的CausesValidation属性设置为false即可
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
{
stringcode=txtCheckCode.Text.Trim();//猎取输入的验证码
stringusername=txtUserName.Text.Trim();//猎取输入的用户名
stringpassword=txtPassword.Text.Trim();//猎取输入的密码
if(code!
=(string)Session["image"])//先进行验证码的判定,验证码输入正确后在执行其他的操作
{
Response.Write("");
Response.Write("");
}
else
{
stringsql="selectlogin_name,login_pwd,admin_powerfromadminwherelogin_name='"+username+"'";
SqlDataReaderdr=db.reDr(sql);
if(dr.Read())
{
if((string)dr["login_pwd"]==password)
{
Response.Write("");
Response.Write("");
Session["Power"]=dr["admin_power"];//使用Session储备用户的使用权限
Session["username"]=username;//储备用户名
}
else{
Response.Write("");
Response.Write("");
}
}
else{
Response.Write("");
Response.Write("");
}
}
}
}
在用户进行登录的时候,使用Session对象储备用户名,同时依照用户名从数据库中取出该用户的使用权限,也使用Session对象储存用户的使用权限,登录成功后,在系统的主页的后台处理代码中取出储存在Session对象中的用户名的相关的用户权限,然后依照用户权限来动态生成导航,相关的代码如下:
系统主页的后台处理代码:
index.aspx.cs
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassIndex:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["username"]!
=null)//那个地点使用Session对象对用户是否差不多进行登录进行判定,假如Session中的内容不为空,那么表示用户差不多登录
{
stringuserStr=(string)Session["username"];//取出储存在Session对象中的用户名
intpower=int.Parse(Ses
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 考勤 管理信息系统 开发 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)