软件工程数据库课程设计.docx

上传人:b****5 文档编号:11621438 上传时间:2023-03-28 格式:DOCX 页数:37 大小:52.32KB
下载 相关 举报
软件工程数据库课程设计.docx_第1页
第1页 / 共37页
软件工程数据库课程设计.docx_第2页
第2页 / 共37页
软件工程数据库课程设计.docx_第3页
第3页 / 共37页
软件工程数据库课程设计.docx_第4页
第4页 / 共37页
软件工程数据库课程设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

软件工程数据库课程设计.docx

《软件工程数据库课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程数据库课程设计.docx(37页珍藏版)》请在冰豆网上搜索。

软件工程数据库课程设计.docx

软件工程数据库课程设计

1.功能

1)、员工:

可以对自己的员工密码就行修改、申请请假、查看加班情况与出勤情况,上下班打卡记录考勤

2)、管理员经理:

能够管理员工的基本信息、招聘员工、对员工的请假进行审核、对员工加班进行安排、做出员工出勤的统计,出差管理

员工管理系统应提供如下主要功能需求

1)、员工请假:

员工填写请假申请表,等待经理审核,查看自己工作情况,看自己请假、未出席情况。

2)、审核员工请假:

经理对于员工递交的请假申请表进行处理,同意请假后要进行记录,添加到员工工作情况中。

3)、统计员工出勤:

对于员工已有的出勤、请假、未出席等等情况进行统计,给员工查看自己的工作情况。

2.数据字典

数据字典是系统中各类数据描述的集合,是进行详细数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,具体表描述如下:

表1是员工信息表

列名

数据类型

备注

工号

Char(10)

主键

姓名

Varchar(20)

不为空

性别

Char(10)

不为空

年龄

Int(11)

可以为空

职务

Varchar(10)

可以为空

部门

Varchar(10)

可以为空

学历

Varchar(10)

可以为空

入职日期

Dt

可以为空

CREATETABLE`yuangong`(

`工号`char(10)NOTNULL,

`姓名`varchar(20)NOTNULL,

`性别`char(10)NOTNULL,

`年龄`int(11)DEFAULTNULL,

`职务`varchar(10)DEFAULTNULL,

`部门`varchar(10)DEFAULTNULL,

`学历`varchar(10)DEFAULTNULL,

`入职日期`datetimeDEFAULTNULL,

PRIMARYKEY(`工号`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

表2是请假信息表

列名

数据类型

备注

工号

Char(10)

主键

日期

Dt

主键

开始日期

Dt

不为空

总时间

Int(11)

不为空

类型

Char(10)

不为空

状态

Char(10)

可以为空

备注

Varchar(10)

可以为空

CREATETABLE`qingjia`(

`工号`char(10)NOTNULL,

`日期`datetimeNOTNULL,

`开始日期`datetimeNOTNULL,

`总时间`int(11)NOTNULL,

`类型`char(10)NOTNULL,

`状态`char(10)DEFAULTNULL,

`备注`varchar(45)DEFAULTNULL,

PRIMARYKEY(`工号`,`日期`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

 

表3是出差信息表

列名

数据类型

备注

工号

Char(10)

主键

日期

Dt

主键

开始日期

Dt

不为空

结束日期

Dt

不为空

总时间

Int(11)

可以为空

地点

Varchar(45)

不为空

CREATETABLE`chucai`(

`工号`char(10)NOTNULL,

`日期`datetimeNOTNULL,

`开始日期`datetimeNOTNULL,

`结束日期`datetimeNOTNULL,

`总时间`int(11)DEFAULTNULL,

`地点`varchar(45)NOTNULL,

PRIMARYKEY(`工号`,`日期`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

表4是加班信息表

列名

数据类型

备注

工号

Char(10)

主键

日期

Dt

主键

开始时间

Char(10)

不为空

结束时间

Char(10)

不为空

总时间

Int(11)

可以为空

CREATETABLE`jiaban`(

`工号`char(10)NOTNULL,

`日期`datetimeNOTNULL,

`开始时间`char(10)NOTNULL,

`结束时间`char(10)NOTNULL,

`总时间`int(11)DEFAULTNULL,

PRIMARYKEY(`工号`,`日期`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

表5是出勤信息表

列名

数据类型

备注

工号

Char(10)

主键

日期

Dt

主键

上班时间

Dt

可以为空

下班时间

Dt

可以为空

迟到

Char(3)

可以为空

早退

Char(3)

可以为空

CREATETABLE`chuqin`(

`工号`char(10)NOTNULL,

`日期`datetimeNOTNULL,

`上班时间`datetimeDEFAULTNULL,

`下班时间`datetimeDEFAULTNULL,

`迟到`char(3)DEFAULTNULL,

`早退`char(3)DEFAULTNULL,

PRIMARYKEY(`工号`,`日期`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

表6是时间设置表

列名

数据类型

备注

上班时间

Char(10)

主键

下班时间

Char(10)

不为空

总时间

Char(10)

可以为空

CREATETABLE`shezhishijian`(

`上班时间`char(10)NOTNULL,

`下班时间`char(10)NOTNULL,

`总时间`char(10)DEFAULTNULL,

PRIMARYKEY(`上班时间`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

 

表7是权限表

列名

数据类型

备注

工号

Char(10)

主键

密码

Char(10)

不为空

权限

Varchar(45)

不为空

CREATETABLE`login`(

`工号`char(10)NOTNULL,

`密码`char(10)NOTNULL,

`权限`varchar(45)NOTNULL,

PRIMARYKEY(`工号`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8

3.数据库实施

首先根据自己设计的模块建立一些逻辑关系,建立一些基本表:

员工信息表(工号,姓名,性别,年龄,职务,部门,学历,入职日期)

出差信息表(员工号,日期,开始日期,总时间,地点)

请假信息表(工号,日期,开始日期,总时间,类型,状态,备注)

加班信息表(工号,日期,开始时间,结束时间,总时间)

出勤信息表(工号,日期,上班时间,下班时间,迟到,早退)

权限表(工号,密码,权限)

时间设置表(上班时间,下班时间,总时间)

出差信息表

员工信息表

请假信息表

加班信息表

出勤信息表

权限表

时间设置表

4.程序源代码

1密码修改

namespace职工考勤管理系统.master2

{

publicpartialclassMmima:

Form

{

stringUserName;

stringPwd;

publicMmima(stringa,stringb)

{

UserName=a;Pwd=b;

InitializeComponent();

}

privatevoidMmima_Load(objectsender,EventArgse)

{

label5.Text=UserName;

}

privatevoidQueren_Click(objectsender,EventArgse)

{

if(Jiumima.Text==""||Xinmima.Text==""||Querenmima.Text=="")

{

MessageBox.Show("旧密码,新密码和确认新密码均不能为空!

\n请重新输入","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

Jiumima.Text="";Xinmima.Text="";Querenmima.Text="";

Jiumima.Focus();

return;

}

else

{

if(Jiumima.Text==Pwd)

{

if(Xinmima.Text!

=Querenmima.Text)

{

MessageBox.Show("两次输入的新密码不一致!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

Xinmima.Text="";Querenmima.Text="";Xinmima.Focus();return;

}

else

{

boola=MyData.MySQL.updata("Updateloginset密码='"+Querenmima.Text+"'where工号='"+label5.Text+"'");

MyData.MySQL.CloseSQL();

if(a==true)

{

MessageBox.Show("密码修改成功!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

this.Close();

}

else

{

MessageBox.Show("密码修改操作失败!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

}

}

else

{

MessageBox.Show("旧密码输入错误!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

Jiumima.Text="";Xinmima.Text="";Querenmima.Text="";Jiumima.Focus();return;

}

}

}

privatevoidQuxiao_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

2当日考勤

namespace职工考勤管理系统.master2

{

publicpartialclassMkaoqin:

Form

{

DateTimetime=Convert.ToDateTime(DateTime.Now.ToShortDateString());

publicMkaoqin()

{

InitializeComponent();

}

privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)

{

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

this.Close();

}

privatevoidMkaoqin_Load(objectsender,EventArgse)

{

DataSetDS2=MyData.MySQL.dataset("select*fromBumen","BM");

DataRowdr2=DS2.Tables["BM"].NewRow();

dr2["编号"]="0";

dr2["名称"]="";

DS2.Tables["BM"].Rows.InsertAt(dr2,0);

this.Bumen.DataSource=DS2.Tables["BM"];

this.Bumen.DisplayMember="名称";

this.Bumen.ValueMember="编号";

MyData.MySQL.CloseSQL();

}

privatevoidQueding_Click(objectsender,EventArgse)

{

if(Bumen.Text=="")

{

MessageBox.Show("请选择部门!

");Bumen.Focus();return;

}

else

{

try

{

stringsql1="selectYuangong.工号,姓名,Bumen.名称as部门fromYuangong,BumenwhereYuangong.工号notin(select工号fromChuqinwhere日期='"+time+"')andBumen.编号=(select编号fromBumenwhere名称='"+Bumen.Text.Trim()+"')andYuangong.部门=Bumen.编号";

DataSetDS1=MyData.MySQL.dataset(sql1,"WCQ");MyData.MySQL.CloseSQL();

dataGridView1.DataSource=DS1.Tables[0];

stringsql2="selectYuangong.工号,姓名,Bumen.名称as部门,迟到,早退fromYuangong,Bumen,ChuqinwhereYuangong.工号in(select工号fromChuqinwhere日期='"+time+"')andBumen.编号=(select编号fromBumenwhere名称='"+Bumen.Text.Trim()+"')andYuangong.工号=Chuqin.工号andYuangong.部门=Bumen.编号and日期='"+time+"'";

DataSetDS2=MyData.MySQL.dataset(sql2,"YCQ");MyData.MySQL.CloseSQL();

dataGridView2.DataSource=DS2.Tables[0];

}

catch(ExceptionE)

{

MessageBox.Show(E.Message);

}

}

}

privatevoidQuanti_Click(objectsender,EventArgse)

{

try

{

stringsql1="selectYuangong.工号,姓名,Bumen.名称as部门fromYuangong,BumenwhereYuangong.工号notin(select工号fromChuqinwhere日期='"+time+"')andYuangong.部门=Bumen.编号";

DataSetDS1=MyData.MySQL.dataset(sql1,"WCQ");MyData.MySQL.CloseSQL();

dataGridView1.DataSource=DS1.Tables[0];

stringsql2="selectYuangong.工号,姓名,Bumen.名称as部门,迟到,早退fromYuangong,Bumen,ChuqinwhereYuangong.工号in(select工号fromChuqinwhere日期='"+time+"')andYuangong.工号=Chuqin.工号andYuangong.部门=Bumen.编号and日期='"+time+"'";

DataSetDS2=MyData.MySQL.dataset(sql2,"YCQ");MyData.MySQL.CloseSQL();

dataGridView2.DataSource=DS2.Tables[0];

}

catch(ExceptionE)

{

MessageBox.Show(E.Message);

}

}

}

}

3.员工请假处理

namespace职工考勤管理系统.master2

{

publicpartialclassMqingjia:

Form

{

DateTimetime=Convert.ToDateTime(DateTime.Now.ToShortDateString());

publicMqingjia()

{

InitializeComponent();

}

privatevoidMqingjia_Load(objectsender,EventArgse)

{

view();

}

publicvoidview()

{

stringsql="selectQingjia.工号,Yuangong.姓名,日期as申请日期,开始日期,总时间as请假总天数,类型as请假类型,状态as是否批准,备注fromQingjia,YuangongwhereQingjia.工号=Yuangong.工号andDATEADD(dd,总时间,开始日期)>'"+time+"'";

DataSetDS=MyData.MySQL.dataset(sql,"QJ");

dataGridView1.DataSource=DS.Tables[0];

}

privatevoidQuxiao_Click(objectsender,EventArgse)

{

this.Close();

}

privatevoidPizhun_Click(objectsender,EventArgse)

{

intindex=dataGridView1.CurrentCell.RowIndex;boola=false;

stringhang=dataGridView1.Rows[index].Cells[0].Value.ToString();

DateTimeRiqi=Convert.ToDateTime(dataGridView1.Rows[index].Cells[2].Value.ToString());

stringsql="updateQingjiaset状态='是'where工号='"+hang+"'and日期='"+Riqi+"'";

a=MyData.MySQL.updata(sql);

if(a==true)

{

MessageBox.Show("员工请假已批准!

","提示",MessageBoxButtons.OK);

view();

}

}

}

}

4.部门信息管理

namespace职工考勤管理系统.master2

{

publicpartialclassMxinjianbumen:

Form

{

publicMxinjianbumen()

{

InitializeComponent();

}

privatevoidMxinjianbumen_Load(objectsender,EventArgse)

{

Bumenhao.Focus();

}

privatevoidTianjia_Click(objectsender,EventArgse)

{

if(Bumenhao.Text==""||Bumenming.Text==""||int.Parse(Bumenhao.Text)>10)

{

MessageBox.Show("请输入部门号和部门名!

\n(部门号在1--10之间)","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

Bumenhao.Focus();Bumenhao.Text="";Bumenming.Text="";return;

}

else

{

if(null!

=MyData.MySQL.sereach("select*fromBumenwhere编号='"+int.Parse(Bumenhao.Text)+"'"))

{

MessageBox.Show("部门号重复!

请重新输入!

","提示");

Bumenhao.Text="";Bumenhao.Focus();return;

}

else

{

if(null!

=MyData.MySQL.sereach("select*fromBumenwhere名称='"+Bumenming.Text+"'"))

{

MessageBox.Show("部门名称重复!

请重新输入!

","提示");

Bumenming.Text="";Bumenming.Focus();return;

}

else

{

boola=MyData.MySQL.updata("insertintoBumen(编号,名称,备注)values('"+int.Parse(Bumenhao.Text)+"','"+Bumenming.Text+"','"+Bumenbeizhu.Text+"')");

if(a==true)

{

MessageBox.Show("部门新建成功!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);this.Close();

}

}

}

}

}

privatevoidFanhui_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

namespace职工考勤管理系统.master2

{

publicpartial

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

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

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