欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    学生晚归与考勤管理信息系统的开发.docx

    • 资源ID:1906888       资源大小:1.38MB        全文页数:46页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生晚归与考勤管理信息系统的开发.docx

    学生晚归与考勤管理信息系统开发系统分析及设计3.1 系统预期用户本系统的预期用户是任何想了解学生在校的考勤情况的用户。3.2 功能说明学生晚归与考勤管理系统是目前广西机电职业技术校园网在线系统之一。本软件将各个学院各个部门联系到一起,便于学生晚归、考勤的管理,同时,还可以让学生通过查询自己的晚归与考勤记录,了解到自己的纪律情况。在线图书销售系统要实现的功能模块主要有:该系统分为晚归情况管理、考勤情况管理与后台管理三大功能模块。 系统功能模块的划分图1 系统功能架构图(2) 基本处理流程下图是系统基本处理流程图。图2 系统基本处理流程3.3 数据库设计本系统采用SQL Server2005作为后台数据库。根据以上功能,新建一名为Attendance的数据库,其中共包括9个数据表,分别是部门表(department):专业信息表(special):班级信息表(class):学生信息表(stuInfo):区/门信息表(region):晚归情况表(late):考勤情况表(attendance):考勤类型表(attendtype):用户信息表(admin):各个数据表的关系(主要是主键与外键的约束关系)如下图所示:数据库创建脚本参考文件:“学生晚归与考勤管理信息系统数据库建库脚步.sql” 3.4 数据库连接1、建议将数据库拷入网站内的App_Data目录内,然后将数据库连接字符串写入到Web.config,参考代码如下:<appSettings><add key="ConnectionStr" value="Server=.;AttachDb Security=True" /></appSettings>测试数据库连接是否正常using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class DBConnTest : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string constr = ConfigurationManager.AppSettings"ConnectionStr" SqlConnection conn = new SqlConnection(constr); conn.Open();/打开数据库连接 Response.Write("数据库连接成功!"); conn.Close();/关闭数据库连接 Response.Write("数据库关闭成功!"); 经验证,Attendance.mdf数据库连接正常2、将常用数据库操作代码写入公共类DB中,其中包含以下各自定义方法,参考代码如下:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ <summary>/ DB类为一个专门进行数据库操作的类/ 包括连接数据库,更新数据库,查询数据库这些操作/ </summary>public class DB / <summary> / DB()为DB类的构造方法 / </summary>public DB() / <summary> / 定义返回数据库连接对象SqlConnection方法 / </summary> / <returns> / SqlConnection对象 / </returns> public SqlConnection getCon() String strCon = ConfigurationManager.AppSettings"ConnectionStr"/从配置文件web.cofig里面读取数据库的连接字符串 return new SqlConnection(strCon);/返回数据库连接对象 / <summary> / 定义更新数据库的方法 / </summary> / <param name="cmdStr"> / 参数cmdStr为要执行更新数据库的SQL语句,包含增加,修改,删除这三种SQL语句 / </param> / <returns> / 数据库更新成功则返回1,更新失败则返回0 / </returns> public int sqlEx(string cmdStr) SqlConnection con = getCon(); con.Open();/打开数据库连接 SqlCommand cmd = new SqlCommand(cmdStr,con);/创建执行SQL语句的命令对象SqlCommand try cmd.ExecuteNonQuery(); return 1;/成功返回1 catch return 0;/失败返回0 finally con.Dispose();/释放资源 / <summary> / 定义查询数据库信息的方法 / </summary> / <param name="cmdStr"> / 参数cmdStr为执行查询时的书写的SQL语句 / </param> / <returns></returns> public DataTable reDt(string cmdStr) SqlConnection con = getCon();/连接数据库 con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmdStr,con);/创建数据适配器对象 DataSet ds = new DataSet();/创建数据集对象 da.Fill(ds);/将保存在数据适配器对象中的数据填充到数据集对象中 return (ds.Tables0);/返回数据集对象中有记录的那个表 / <summary> / 定义阅读数据的方法 / </summary> / <param name="str"> / 参数str为执行查询操作时的SQL语句 / </param> / <returns> / 返回一个数据阅读对象 / </returns> public SqlDataReader reDr(string str) SqlConnection con = getCon(); con.Open(); SqlCommand cmd = new SqlCommand(str,con); SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);/通过调用Command对象的ExecuteReader()方法创建DataReader对象,CommandBehavior.CloseConnection表示? return dr; 功能模块的实现用户注册功能的实现:实现逻辑:用户注册信息写入到admin表,此注册功能是专门针对本校的学生开发注册的,如果不是本校的学生,是没有注册的权限的,所有注册时要根据学生输入的真实姓名和学号进行注册,如果找不到对应的学生的名字,就不允许用户进行注册,如果用户已经注册过一次了,就直接告诉用户已经注册过了,无需再次注册了,并自动为用户跳转到登录页面,如果用户是第一次注册,就把用户的注册信息写入到admin表中,注册成功后也跳转到登录页面让用户进行登录。用户注册页面Register.aspx如下图所示:学生进入此页面进行注册,正确填写了学生姓名和学生学号以及验证码了以后,点击提交按钮完成帐户注册,而在后台,要进行数据的合法性判断,首先进行的是验证码的正确性判断,把用户输入的验证码和保存的Session对象中的验证码取出来作比较,如果验证码输入正确才继续执行检查该注册用户是否是本校的学生,以及该用户是否已经被注册了,后台的处理代码如下所示:Register.aspx.csusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class student_Register : System.Web.UI.Page DB db = new DB(); protected void Page_Load(object sender, EventArgs e) this.ImageButton1.ImageUrl = "image.aspx"/image.aspx是一个显示验证码的Web页面 protected void btn_submit_Click(object sender, EventArgs e) string code = txtCheckCode.Text.Trim(); if (code != (string)Session"image") Response.Write("<Script>alert('验证码输入错误,请检查后重新输入!')</Script>"); / Response.Redirect("Register.aspx");如果使用这种跳转方式,那么上面的javascript是无法运行的,因为还没有来得及运行就页面就已经跳转了 Response.Write("<script>window.location.href='Register.aspx'</script>"); else string stu_Name = txtUserName.Text.Trim(); string stu_Id = txtstuID.Text.Trim(); string sql2 = "select stu_name from stuInfo where stu_name='"+stu_Name+"'"/使用这条SQL语句检查要注册的人是否是本校的学生,如果是,才允许其注册,如果不是,就不允许其注册 SqlDataReader dr = db.reDr(sql2); if (dr.Read() dr.Close();/关闭SqlDataReader string sq = "select * from admin where login_name='" + stu_Name + "'"/如果已经证实是本校的学生,就再判断该学生是否已经注册过了 dr=db.reDr(sq);/再次使用SqlDataReader if (dr.Read() Response.Write("<Script>alert('你已经注册过了,不需要再次注册了!直接为您跳转到登录页面进行登录')</Script>"); Response.Write("<script>window.location.href='logion.aspx'</script>"); else int power = 3;/如果已经证实要注册的人是本校的学生,就直接给该学生赋予使用权限 string sql = "insert into admin(login_name,login_pwd,admin_power) values('" + stu_Name + "','" + stu_Id + "',"+power+")" /Response.Write(sql); /Response.End(); try int flag = db.sqlEx(sql); if (flag > 0) Response.Write("<Script>alert('注册成功了!马上为您跳转到登录页面进行登录')</Script>"); Response.Write("<script>window.location.href='login.aspx'</script>"); else Response.Write("<Script>alert('注册失败!')</Script>"); catch (System.Exception ee) Response.Write("<script>alert('"+ee.Message.ToString()+"');</script>"); else Response.Write("<Script>alert('你不是本校的学生,没有注册的权限!')</Script>"); txtUserName.Text = "" txtstuID.Text = "" protected void btn_reset_Click(object sender, EventArgs e) txtstuID.Text = "" txtUserName.Text = "" 用户登录功能的实现实现逻辑:用户进入登录页面后,输入相关的用户名和密码进行登录,如果用户名和密码都正确了,表示该用户是合法用户,就允许其进入系统的主页进行相关的系统操作,如果用户名和密码的验证不通过,就不允许其进入系统,用户输入用户名和密码后,在后台的处理过程中首先会从数据库Attendance.mdf的admin表取出相应的用户名和用户输入的用户名进行匹配,如果用户名匹配成功了,就把数据表中存储的密码和用户输入的密码进行比对,如果密码也验证通过了,才允许用户进入系统首页,用户名和密码中任意一项匹配如果不通过,都不允许其登录。登录该系统时,有三种不同身份的使用者,分别为管理员,记录员和学生,不同的身份就对应着不同的使用权限。使用权限的限制根据不同身份的登录者生成不同的动态导航,以此到达限定使用者的权限的目的。登录页面的设计如下:如果登录的身份是管理员,则显示如下的导航:如果登录的身份是记录员,则显示如下的导航:如果登录的身份是学生,则显示如下的导航:对于管理员而言,其拥有的使用权限是最多的,但没有晚归登记和考勤登记的权限,登记权限只有记录员才有,而对于学生而言,只有查看相关记录的权限,别的权限都没有,因此通过这种根据不同登录者的身份生成不同的导航就可以限定了登录者的使用权限了。这里难就难在了如果根据登录者的身份动态生成不同的导航信息。相关代码如下:用户登录的后台代码:login.aspx.csusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class login : System.Web.UI.Page DB db = new DB(); protected void Page_Load(object sender, EventArgs e) ImageButton1.ImageUrl = "image.aspx"/让页面加载时就显示验证码图片 protected void btnRegister_Click(object sender, EventArgs e) Response.Redirect("Register.aspx");/点击注册按钮后,直接跳转到注册页面,这里需要注意一个小问题,由于文本框已经使用了验证控件,因此要想让按钮的触发事件不触发验证控件时,把按钮的CausesValidation属性设置为false即可 protected void btnLogin_Click(object sender, EventArgs e) string code = txtCheckCode.Text.Trim();/获取输入的验证码 string username = txtUserName.Text.Trim();/获取输入的用户名 string password = txtPassword.Text.Trim();/获取输入的密码 if (code != (string)Session"image")/先进行验证码的判断,验证码输入正确后在执行其他的操作 Response.Write("<script>alert('验证码输入有误!')</script>"); Response.Write("<script>window.location.href='login.aspx'</script>"); else string sql = "select login_name,login_pwd,admin_power from admin where login_name='"+username+"'" SqlDataReader dr = db.reDr(sql); if (dr.Read() if (string)dr"login_pwd" = password) Response.Write("<script>alert('用户名和密码正确!登录成功!')</script>"); Response.Write("<script>window.location.href='Index.aspx'</script>"); Session"Power" = dr"admin_power"/使用Session存储用户的使用权限 Session"username" = username;/存储用户名 else Response.Write("<script>alert('密码错误!')</script>"); Response.Write("<script>window.location.href='login.aspx'</script>"); else Response.Write("<script>alert('该用户不存在,请先去注册一个帐户后再进行登录操作,即将为你跳转到注册页面!')</script>"); Response.Write("<script>window.location.href='Register.aspx'</script>"); 在用户进行登录的时候,使用Session对象存储用户名,并且根据用户名从数据库中取出该用户的使用权限,也使用Session对象保存用户的使用权限,登录成功后,在系统的主页的后台处理代码中取出保存在Session对象中的用户名的相关的用户权限,然后根据用户权限来动态生成导航,相关的代码如下:系统主页的后台处理代码:index.aspx.csusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Index : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Session"username" != null)/这里使用Session对象对用户是否已经进行登录进行判断,如果Session中的内容不为空,则表示用户已经登录 string userStr = (string)Session"username"/取出保存在Session对象中的用户名 int power = int.Parse(Session"Power".ToString();/取出保存在Session对象中的用户使用权限标识 string nav = "" if (power = 1)/根据登录者的身份动态变化导航的显示,以此限定不同身份的登录者的使用权限 nav = "<td><a href='latecheck.aspx'target='show_Content'>晚归查询</a>|</td>" nav += "<td><a href='latecount.aspx' target='show_Content'>晚归汇总</a>|</td>" nav += "<td><a href='attendcheck.aspx' target='show_Content'>考勤查询</a>|</td>" nav += "<td><a href='attendcount.aspx' target='show_Content'>考勤汇总</a>|</td>" nav += "<td><a href='updatedept.aspx' target='show_Content'>系/班级/专业维护</a>|</td>" nav += "<td><a href='updateregion.aspx' target='show_Content'>区/门维护</a>|</td>" nav += "<td><a href='updateadmin.aspx' target='show_Content'>用户管理</a>|</td>" nav += "<td><a href='exit.aspx'>注销用户</a></td>" else if (power = 2) nav = "<td><a href='latecheck.aspx'target='show_Content'>晚归查询</a>|</td>" nav += "<td><a href='latecount.aspx' target='show_Content'>晚归汇总</a>|</td>" nav += "<td><a href='latewrite.aspx' target='show_Content'>晚归登记</a>|</td>" nav += "<td><a href='attendcheck.aspx' target='show_Content'>考勤查询</a>|</td>" nav += "<td><a href='attendcount.aspx' target='show_Content'>考勤汇总</a>|</td>" nav += "<td><a href='attendwrite.aspx' target='show_Content'>考勤登记</a>|</td>" nav += "<td><a href='exit.aspx'>注销用户</a></td>" else if (power = 3) nav = "<td><a href='latecheck.aspx'target='show_Content'>晚归查询</a>|</td>" nav += "<td><a href='latecount.aspx' target='show_Content'>晚归汇总</a>|</td>" nav += "<td><a href='attendcheck.aspx' target='show_Content'>考勤查询</a>|</td>" nav += "<td><a href='attendcount.aspx' target='show_Content'>考勤汇总</a>|</td>" nav += "<td><a href='exit.aspx'>注销用户</a></td>" lblNav.Text = "<table><tr>"+nav+"</tr></table>" lblNav.Text += "欢迎<font color='red'>" + userStr + "</font>登录" else /如果用户没有进行登录,则直接跳转到登录页面 Response.Write("<script>alert('你还没有进行系统的登录,请先登录后再使用本系统!')</script>"); Response.Write("<script>window.location.href='login.aspx'</script>"); /Response.Write("<iframe name='show_Content' frameborder='1' width='800px' height='600px' scroll='no'></iframe>");向网页中输出一个框架 lblContent.Text = "<iframe name='show_Content' frameborder='1' width='800px' height='600px' scroll='no' src='Welcome.aspx'></iframe>"/让框架在指定的Lable中显示 到此,用户注册和登录的功能模块就全部实现了接下来将进入系统开发中的最核心的功能模块部分的开发:晚归情况管理和考勤情况管理,这两个部分是系统功能中最核心的两个部分,也是最难实现的两个部分,这两个部分难就难在了查询的部分,如何根据用户的选择查询操作动态拼凑出SQL语句对数据库进行操作,从而查询出用户想要的记录。晚归情况管理功能模块的实现晚归情况管理功能模块主要有三部分,分别为晚归登记,晚归查询,晚归汇总。如下图所示:晚归情况管理晚归登记晚归查询晚归汇总实现晚归登记功能latewrite.aspx页面设计如下:在数据库的设计中,存储晚归情况的表为late表,late表的设计如下图所示:从表中可以看到,la

    注意事项

    本文(学生晚归与考勤管理信息系统的开发.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开