工资管理系统的数据库课程设计.docx
- 文档编号:10028632
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:25
- 大小:2.41MB
工资管理系统的数据库课程设计.docx
《工资管理系统的数据库课程设计.docx》由会员分享,可在线阅读,更多相关《工资管理系统的数据库课程设计.docx(25页珍藏版)》请在冰点文库上搜索。
工资管理系统的数据库课程设计
一、问题描述
设计一个工资管理系统,使其具有以下功能:
1)员工基本信息的管理功能。
2)单位员工变动、奖惩情况的管理功能。
3)工资的计算、修改功能。
4)查询统计功能。
5)报表打印功能。
6)具有数据备份和数据恢复功能。
二、系统总体设计:
1)设计一个登录界面,使该系统具有一定的安全性和通用性,对应的,在数据库里建立一个登录界面表。
2)在数据库内设计三个信息表,分别是员工情况表,员工部门表,工资表。
3)在VB界面内设计窗体,并书写代码,使其与数据库连接起来,并具有相应功能。
三、数据库设计:
使用T-SQL语句创建数据库,表,及所要添加的相应数据
1)创建数据库语句如下:
createdatabase工资管理系统
2)创建员工情况表语句如下:
createtable员工情况表
(
员工编号char(10)NOTNULL,
姓名varchar(50),
性别char(10),
出生年月datetime,
部门编号char(10)NOTNULL,
)
向员工情况表添加数据:
insertinto员工情况表
(员工编号,姓名,性别,出生年月,部门编号)
values
('01','张三','男','11/23/1991','a')
insertinto员工情况表
(员工编号,姓名,性别,出生年月,部门编号)
values
('02','李四','男','5/23/1994','b')
insertinto员工情况表
(员工编号,姓名,性别,出生年月,部门编号)
values
('03','王五','男','8/28/1992','c')
insertinto员工情况表
(员工编号,姓名,性别,出生年月,部门编号)
values
('04','小红','女','9/07/1992','d')
insertinto员工情况表
(员工编号,姓名,性别,出生年月,部门编号)
values
('05','小明','男','10/01/1992','e')
添加数据完毕
3)创建工资表语句如下:
createtable工资表
(
员工编号char(10)NOTNULL,
基本工资char(10)NOTNULL,
奖金char(10),
扣除char(10),
)
向工资表内添加数据:
insertinto工资表
(员工编号,基本工资,奖金,扣除)
values
('01','4000','300','100')
insertinto工资表
(员工编号,基本工资,奖金,扣除)
values
('02','2300','200','50')
insertinto工资表
(员工编号,基本工资,奖金,扣除)
values
('03','2500','150','100')
insertinto工资表
(员工编号,基本工资,奖金,扣除)
values
('04','3000','220','150')
insertinto工资表
(员工编号,基本工资,奖金,扣除)
values
('05','2000','100','0')
添加数据完毕
4)创建员工部门表语句如下:
createtable员工部门表
(
员工编号char(10)NOTNULL,
部门编号char(10)NOTNULL,
部门名varchar(50)NOTNULL,
负责人varchar(50)NOTNULL,
)
向员工部门表内添加数据:
insertinto员工部门表
(员工编号,部门编号,部门名,负责人)
values
('01','a','办公室','张强')
insertinto员工部门表
(员工编号,部门编号,部门名,负责人)
values
('02','b','一车间','王强')
insertinto员工部门表
(员工编号,部门编号,部门名,负责人)
values
('03','c','销售部','夏雨')
insertinto员工部门表
(员工编号,部门编号,部门名,负责人)
values
('04','d','设计部','露露')
insertinto员工部门表
(员工编号,部门编号,部门名,负责人)
values
('05','e','管理部','刘伟')
添加数据完毕
5)创建系统登录表语句如下:
Createtable系统登录
(用户名char(10)notnull,
密码char(10)notnull,
身份varchar(50)notnull)
向系统登录表内添加数据:
Insertinto系统登录
Values(‘123’,‘23’,‘管理员’)
Insertinto系统登录
Values(‘122’,‘01’,‘普通用户’)
添加数据完毕
数据库创建完毕!
4、详细设计
1)设计VB登录界面
图像如下:
设置身份为管理员,成功登录
相应代码为:
SetConn=NewADODB.Connection
'OnErrorGoToMyErr:
ConnStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理系统;DataSource=XGJYJ2OKZYWHIWB"'这是连接SQL数据库的语句
Conn.OpenConnStr
rs.CursorLocation=adUseClient
rs.OpenTrim$(SQL),Conn,adOpenDynamic,adLockOptimistic
SetSelectsql=rs
'ExitFunction
'MyErr:
'Setrs=Nothing
'SetConn=Nothing'释放相关的系统资源
'MsgBoxErr.Description,vbInformation,"系统提示"'显示出错信息
EndFunction
PrivateSubCommand1_Click()
DimSQLAsString
DimrsAsADODB.Recordset
IfText1.Text=""Then
MsgBox"请输入口令!
",16
Text1.SetFocus
ExitSub
EndIf
SQL="SELECT*FROM系统登录WHERE用户名='"&Text1.Text&"'AND密码='"&Text2.Text&"'and身份='"&Combo1.Text&"'"'objcn,adOpenStatic,adLockOptimistic
Setrs=Selectsql(SQL)
Ifrs.RecordCount>0Then
Form2.Show'想要打开的主窗体
MsgBox"恭喜兄弟,登录成功!
",64,"提示"
UnloadMe
Else
MsgBox"口令不对,请重新输入!
",16,"提示"
Text1.Text=""
Text2.Text=""
Combo1.Text=""
Text1.SetFocus
EndIf
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubText2_Change()
Text2.PasswordChar="*"
EndSub
将出现此界面,表示成功登录
2)登录成功后,同时出现基本功能界面
3)点击员工信息管理按钮,将出现员工信息表,代码如下:
PrivateSubCommand1_Click()
Form2.Hide
Form3.Show
EndSub
员工信息表将实现以下功能:
1)员工基本信息的展览
2)员工基本信息的添加、删除、修改
3)增加了一个adodc1控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果。
该界面的代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand2_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset("员工编号")=Text1.Text
Adodc1.Recordset("姓名")=Text5.Text
Adodc1.Recordset("性别")=Text4.Text
Adodc1.Recordset("出生年月")=Text3.Text
Adodc1.Recordset("部门编号")=Text2.Text
Form4.Adodc1.Recordset("员工编号")=Text1.Text
Form5.Adodc1.Recordset("员工编号")=Text1.Text
Form6.Adodc1.Recordset("员工编号")=Text1.Text
'Form4.Adodc1.Recordset("部门编号")=Text2.Text
Adodc1.Recordset.Update
MsgBox("修改成功")
EndSub
PrivateSubCommand4_Click()
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
4)点击单位员工变动管理,将出现员工变动管理界面,代码如下:
PrivateSubCommand2_Click()
Form2.Hide
Form4.Show
EndSub
单位员工变动管理界面将实现以下功能:
1)员工部门表的展览
2)员工部门表的添加、删除、修改,解决了员工工作变动的问题。
3)增加了一个adodc1控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果。
单位员工变动管理界面代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand2_Click()
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset("员工编号")=Text1.Text
Adodc1.Recordset("部门编号")=Text2.Text
Adodc1.Recordset("部门名")=Text3.Text
Adodc1.Recordset("负责人")=Text4.Text
Form3.Adodc1.Recordset("员工编号")=Text1.Text
Form3.Adodc1.Recordset("部门编号")=Text2.Text
Adodc1.Recordset.Update
MsgBox("修改成功")
EndSub
PrivateSubCommand4_Click()
Form2.Show
UnloadMe
EndSub
5)单击奖惩情况管理,将出现工资情况界面,相应代码如下:
PrivateSubCommand3_Click()
Form2.Hide
Form5.Show
EndSub
奖惩情况管理界面将实现以下功能:
1)工资表的展览
2)工资表的添加、删除、修改,解决了员工奖惩情况的问题。
3)增加了一个adodc1控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果。
该界面代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand2_Click()
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset("员工编号")=Text1.Text
Adodc1.Recordset("奖金")=Str(Text2.Text)
Adodc1.Recordset("扣除")=Str(Text3.Text)
Form6.Adodc1.Recordset("员工编号")=Text1.Text
Form6.Adodc1.Recordset("奖金")=Text2.Text
Form6.Adodc1.Recordset("扣除")=Text3.Text
Adodc1.Recordset.Update
MsgBox("修改成功")
EndSub
PrivateSubCommand4_Click()
Form2.Show
UnloadMe
EndSub
6)单击工资的计算、修改按钮,将出现工资的管理界面,相应代码如下:
PrivateSubCommand4_Click()
Form2.Hide
Form6.Show
EndSub
单位员工变动管理界面将实现以下功能:
1)员工工资表的展览
2)员工工资表的总工资计算功能,解决了员工工作变动的问题。
3)增加了一个adodc1控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果
该界面代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand2_Click()
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand3_Click()
MsgBox("修改成功")
Adodc1.Recordset("员工编号")=Text1.Text
Adodc1.Recordset("基本工资")=Text2.Text
Adodc1.Recordset("奖金")=Str(Text3.Text)
Adodc1.Recordset("扣除")=Str(Text4.Text)
Adodc1.Recordset.Update
EndSub
PrivateSubCommand4_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubForm_Load()
Text5.Text=Val(Text2.Text)+Val(Text3.Text)-Val(Text4.Text)
EndSub
7、单击查询功能,将出现查询管理部门界面,相应代码如下:
PrivateSubCommand5_Click()
Form2.Hide
Form8.Show
EndSub
查询界面将实现以下功能:
1)将员工所在部门分类
2)将员工按分类进行统计,相应显示
3)增加了两个adodc控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果。
5)增加了一个datalist控件,达到分类的效果。
该界面代码如下:
PrivateSubCommand1_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubDataList1_Click()
Adodc1.RecordSource="select*from员工部门表where部门名='"&DataList1.BoundText&"'"
Adodc1.Refresh
EndSub
PrivateSubForm_Load()
'Dimmpath$,mlink$
'mpath=App.Path
'IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"
'mlink="provider=microsoft.jet.oledb.4.0;"
'mlink=mlink+"datasource="+mpath+"工资管理系统.mdb"
'Adodc1.ConnectionString=mlink
'Adodc1.CommandType=adCmdUnknown
'DataList1.ListField=
Adodc1.RecordSource="select*from员工部门表"
'where部门名='办公室'"
'"&DataList1.BoundText&"'"
Adodc1.Refresh
EndSub
8、单击统计功能,将出现统计功能界面,代码如下:
PrivateSubCommand7_Click()
Form2.Hide
Form7.Show
EndSub
统计功能界面将实现以下功能:
1)将所有员工按性别、年龄、部门分类
2)对不同的分类进行统计并查询
3)增加了一个adodc控件,通过改变各控件的属性,达到VB与数据库连接的目的,具体操作见VB书最后一章。
4)设计了一个datagrid控件,使所以信息以表的信息清楚的展示,如果基本信息有什么变动,那可以在控件里得到结果。
5)增加了一个datalist控件,达到分类的效果。
该界面代码如下:
PrivateSubCommand1_Click()
Adodc1.RecordSource="selectyear(出生年月)as年龄,count(*)as人数from员工情况表groupbyyear(出生年月)"
Adodc1.Refresh
EndSub
PrivateSubCommand2_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubCommand3_Click()
Adodc1.RecordSource="select部门名,count(*)as人数from员工部门表groupby部门名"
Adodc1.Refresh
EndSub
PrivateSubCommand4_Click()
Adodc1.RecordSource="select性别,count(*)as人数from员工情况表groupby性别"
Adodc1.Refresh
EndSub
9、单击数据库备份恢复功能按钮,将出现备份恢复界面,代码如下:
PrivateSubCommand7_Click()
Form2.Hide
Form9.Show
EndSub
单击数据库备份及恢复按钮,将实现数据库备份及恢复功能,界面如下:
代码如下:
PubliccnAsADODB.Connection
PrivateSubCommand1_Click()
cn.Execute"backupdatabase工资管理系统todisk='d:
\工资备份.bak'withname='工资管理系统backupall',description='FullBackupOfpubs'"
MsgBox"数据完全备份已经完成",vbOKOnly+vbInformation,"提醒"
EndSub
PrivateSubCommand2_Click()
cn.Execute"restoredatabase工资管理系统fromdisk='d:
\工资备份.bak'withFILE=1"
MsgBox"数据恢复已经完成",vbOKOnly+vbInformation,"提醒"
EndSub
PrivateSubCommand3_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubForm_Load()
Setcn=NewADODB.Connection
strcon="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理系统;DataSource=XGJYJ2OKZYWHIWB;"+_
"useprocedureforprepare=1;autotranslate=true;"+_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 数据库 课程设计