ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:330.57KB ,
资源ID:9108031      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9108031.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计教职工签到系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计教职工签到系统.docx

1、数据库课程设计教职工签到系统数据库应用课程设计 综合报告学 号: 031240420 姓 名: 孙慧华 小组成员: 实验地点: 5B803 2017年3月20日摘要随着学校学生的人数的增加教师以及职工人数也不断的增加,所以对老师的考勤工作就变的日益的繁重。为此,使用Visual开发了教职工签到系统,本系统取代了传统的人工操作,利用计算机辅助管理教职工的日常出勤及缺勤情况既提高了签到的科学性,也减轻了学校的工作负担。利用SQLServer2008进行数据库的建立和编程设计,结合Visual中的WinSock控件实现了客户端与服务器模式的教职工签到管理系统,利用按钮和登录窗的方式实现了管理员登陆、

2、教职工签到,每类信息的管理都做到了相应信息的查询功能。经测试本系统运行正常,通过本系统可以做到教职工签到的规范管理。1 需求分析1.1需求来源 本系统主要是对教职工签到管理的系统。1.1.1功能需求 1、教职工签到并记录; 2、添加某个教职工的基本信息; 3、修改某个教职工的基本信息; 4、删除某个教职工的基本信息; 5、按照不同的条件对教职工签到信息查询统计; 6、系统以菜单方式工作1.1.2数据需求 本系统主要涉及的数据两个表:基本信息表(information)和签到管理表(signin)。基本信息表的属性有编号,姓名,年龄,性别,日期。签到管理表有编号,日期,情况属性1.1.3性能需求

3、要求系统具有可靠性,速度要快,方便简单。1.2设计目的要求实现-“教职工签到管理系统”记录教职工的签到情况,它包括:日期,迟到情况。并根据不同的条件对教职工信息进行统计查询。1.3设计要求 管理员功能:添加,修改,删除教职工基本信息,对教职工签到情况管理;教职工功能:签到3 总体设计3.1总体结构设计为了满足教职工签到方面信息的管理功能,需要明确对该管理的各个功能,各种操作都有哪些。数据库中应该有教职工以及管理员的基本信息,这些来自于该管理系统。教职工只能在客户端进行操作,当教职工签到时,由计算机记录系统的当前时间,并且通过WinSock将信息保存在服务器上,管理员可以操作服务器,查看教职工的

4、有关签到信息。管理员可以修改、删除、增加教职工的信息。此种信息禁止教职工自行输入。除此之外,还要通过登录名和密码严格限定登陆者的身份并且控制相应的操作权限,只有管理员有权限修改账户以及密码,防止其他密码泄露造成的其他问题。功能模块图:3.2 数据库设计3.2.1数据库设计概述数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库系统需要操作系统的支持。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种反复探

5、寻,逐步求精的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据库设计分为6个部分:1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.物理设计阶段5.数据库实施阶段6.数据库运行和维护阶段。其中,需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段独立于数据库管理系统;实施阶段,运行和维护阶段依赖于数据库管理系统。3.2.2概念结构设计基本信息表主要用于在系统中存储教职工基本信息,包含了教职工的编号,姓名,性别,年龄。其中编号是区分每个教职工的区别。签到情况表是对每个教职工的签到情况进行记录管理。包括了教职工的编号,签到日期,签到情况。可以通过检索结果查

6、看每个教职工或者每天的签到情况。根据对系统需求的分析,教职工只能完成签到的功能。管理员则能通过账号和密码进入系统,完成对教职工基本信息进行添加、删除、更新,能够对签到的情况根据不同的条件进行统计查询。根据对数据表的设计。分析出数据各实体间的关系如下所示。教职工签到信息管理员 E-R图 m n13.2.3逻辑结构设计数据库设计分为两个表,将E-R图转换为关系模型。基本信息表的关系模型为:职工:(编号,姓名,年龄,性别)管理:(编号)管理员:(账号,密码)签到管理表的关系模型为:管理员:(账号,密码)签到信息:(编号,日期,情况)管理:(编号)本系统采用SQL sever 2008 进行数据库及表

7、的建立。本系统需要的表共有两个,即基本信息表和签到情况表。具体设计如下:基本信息表字段名称数据类型字段长度是否为空说明编号char10NoKey姓名varchar20No 年龄intNo性别char2No管理信息表字段名称数据类型字段长度是否为空说明编号char10NoInformation的外键日期varchar50No 情况varchar20No签到情况4 详细设计4.1数据库的创建create database chy4.2表的创建基本信息表create table information(num char(10) primary key,name char(20),sex char(2

8、),age int)签到情况表create table signin(num char(10) foreign key(num) references information(num),data varchar(50),situation varchar(20)4.3界面设计及功能实现4.3.1主菜单模块本模块编号包括了系统管理、签到、基本信息管理、签到管理、帮助。其中用户可以直接进入签到模块进行签到,其他的模块则需要登录后才能使用。系统管理的子菜单有“登录”与“关闭”。帮助的子菜单有“查看帮助”和“关于”子菜单。用户也可以点击图片进入相应的功能模块。代码如下:using System;usi

9、ng System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace sql public partial class Menu : Form public Menu() InitializeComponent(); private bool isLogined = fal

10、se;/记录登录凭据 private void tsmExit_Click(object sender, EventArgs e) Application.Exit();/关闭所有应用程序 private void tsmDenglu_Click(object sender, EventArgs e) Ad ad = new Ad();/实例化管理员登录窗体 tssMsg.Text = ad.Text;/显示管理员登录窗体 if (ad.ShowDialog() = DialogResult.OK) if (bool)ad.Tag)/如果登录成功 isLogined = true; tssMs

11、g.Text = 恭喜您,成功登录系统!; isLogined = true; else isLogined = false; tssMsg.Text = 抱歉,必须先登录才能使用本系统!; private void tsmSign_Click(object sender, EventArgs e) Sjgn sign = new Sjgn(); sign.MdiParent = this; sign.Show(); tssMsg.Text = sign.Text; private void tsmInformation_Click(object sender, EventArgs e) if

12、 (isLogined) Information information = new Information(); information.MdiParent = this; information.Show(); tssMsg.Text = information.Text; else tssMsg.Text = 注意,必须先登录才能使用本系统!; 此处省略签到管理代码 private void tsmAbout_Click(object sender, EventArgs e) AboutForm AF = new AboutForm(); AF.ShowDialog(); tssMsg.

13、Text = AF.Text; 此处省略查看帮助代码 4.3.2登录模块本模块功能主要是完成管理员登录进入系统的功能,从主页面的登录连接进入这个页面,登录时输入的信息必须符合相应条件才能够完成登录,否则会有错误信息提示。登录成功后直接进入主菜单。登录页面如图所示:代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.W

14、indows.Forms;using System.Data.SqlClient;namespace sql public partial class Ad : Form public Ad() InitializeComponent(); private void btnOk_Click(object sender, EventArgs e) string num = txtNum.Text; string pwd = txtPwd.Text; if (num = 666 & pwd = 1) this.DialogResult = DialogResult.OK;/触发确定操作 this.

15、Tag = true;/登陆成功并记录 else MessageBox.Show(您输入的用户名或密码不正确!请重试, 登录失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Tag = false;/登录失败并记录 private void btnCancel_Click(object sender, EventArgs e) txtNum.Text = ; txtPwd.Text = ; txtNum.Focus();/将光标定位到txtNum上 4.3.3签到本模块功能主要是完成用户签到的功能,无需登录就可进行。输入相应

16、的信息进行签到。签到成功后会显示用户的签到信息。同时系统自动记录该用户的签到情况。签到页面如图所示:代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace sql public partial class Sjgn :

17、 Form public Sjgn() InitializeComponent(); string a; private void btnOk_Click(object sender, EventArgs e) string nowtime = System.DateTime.Now.ToShortDateString(); DateTime NowTime = System.DateTime.Now; DateTime worktime = DateTime.Parse(11:00); string num = txtNum.Text; string name = txtName.Text;

18、 string connString = Data Source=CHINA-20150411I;Initial Catalog=chy;Integrated Security=true; DataSet ds = new DataSet(); SqlConnection conn = new SqlConnection(connString);/创建连接对象 /获取用户名和密码匹配的行的数量的sql语句 string sql = String.Format(select count(*) from information where Num=0and name=1, num, name);

19、try conn.Open();/打开数据库连接 SqlCommand comm = new SqlCommand(sql, conn);/创建command对象 int n = (int)comm.ExecuteScalar();/执行查询语句,返回匹配的行数 if (n = 1) this.DialogResult = DialogResult.OK;/触发确定操作 string qink = ; if (NowTime worktime) qink = 迟到; else qink = 没有迟到; string message = String.Format(迟到情况:0n实际到达时间:1

20、n应到时间:2, qink, NowTime, worktime); rtbShow.Text = message; conn.Close(); a = String.Format(insert into signin values( 0, 1,2), txtNum.Text, nowtime, qink); conn.Open();/打开数据库连接 comm = new SqlCommand(a, conn);/创建command对象 comm.ExecuteReader(); else MessageBox.Show(您输入的用户名或密码不正确!请重试, 登录失败, MessageBoxB

21、uttons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);/this.Tag = false; finally conn.Close();/关闭数据库连接 private void btnQingjia_Click(object sender, EventArgs e) string nowtime = System.DateTime.Now.ToShort

22、DateString(); string num = txtNum.Text; string name = txtName.Text; string start = txtStart.Text; string end = txtEnd.Text; DateTime NowTime = System.DateTime.Now; DateTime worktime = DateTime.Parse(end ); string connString = Data Source=CHINA-20150411I;Initial Catalog=chy;Integrated Security=true;

23、DataSet ds = new DataSet(); SqlConnection conn = new SqlConnection(connString);/创建连接对象 string sql = String.Format(select count(*) from information where Num=0and name=1, num, name); try conn.Open();/打开数据库连接 SqlCommand comm = new SqlCommand(sql, conn);/创建command对象 int n = (int)comm.ExecuteScalar();/执

24、行查询语句,返回匹配的行数 if (n = 1) this.DialogResult = DialogResult.OK;/触发确定操作 string qink = ; if (NowTime worktime) qink = 迟到; else qink = 没有迟到; string message = String.Format(迟到情况:0n实际到达时间:1n应到时间:2, qink, NowTime, worktime); rtbShow.Text = message; conn.Close(); a = String.Format(insert into signin values(

25、0, 1,2), txtNum.Text, nowtime, qink); conn.Open();/打开数据库连接 comm = new SqlCommand(a, conn);/创建command对象 comm.ExecuteReader(); else MessageBox.Show(您输入的用户名或密码不正确!请重试, 登录失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.O

26、K, MessageBoxIcon.Exclamation);/this.Tag = false; finally conn.Close();/关闭数据库连接 4.3.4基本信息管理模块本模块主要完成对教职工基本信息的添加、更新、删除功能。主键的约束要求添加时输入的编号是唯一的。同时更新、删除时输入的编号系统要存在。否则会报错。页面如图所示。代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Syst

27、em.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace sql public partial class Information : Form public Information() InitializeComponent(); private void btnAdd_Click(object sender, EventArgs e) string sql = String.Format(insert into information values(0,1,2,3),

28、 txtNum.Text, txtName.Text, txtSex.Text, txtAge.Text); string connString = Data Source=CHINA-20150411I;Initial Catalog=chy;Integrated Security=true; using (SqlConnection conn = new SqlConnection(connString) conn.Open();/打开数据库连接 SqlCommand comm = new SqlCommand(sql, conn);/创建command对象 int n = comm.Ex

29、ecuteNonQuery();/执行添加命令,返回匹配的行数if (n 0) string message = String.Format(编号:0n姓名:1n性别:2n年龄:3n, txtNum.Text, txtName.Text, txtSex.Text, txtAge.Text);lblShow.Text = message; else MessageBox.Show(添加教职工基本信息失败!, 添加失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); private void btnUpdate_Click(object sender, EventArg

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1