数据库实训报告工资管理系统sql+vb.docx
- 文档编号:7982960
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:36
- 大小:484.88KB
数据库实训报告工资管理系统sql+vb.docx
《数据库实训报告工资管理系统sql+vb.docx》由会员分享,可在线阅读,更多相关《数据库实训报告工资管理系统sql+vb.docx(36页珍藏版)》请在冰豆网上搜索。
数据库实训报告工资管理系统sql+vb
数据库实训报告
设计题目:
工资管理系统
学院:
计算机与信息工程
专业:
年级:
2009级
班级:
二班
姓名:
指导老师:
学号:
一、需求分析
1.1系统分析
对于一个公司来说,拥有一个正确、及时而且规范地经行员工工资的管理和发放是非常重要的。
由于工资的计算涉及的数据是多方面的,每位员工的工资又都需要单独计算,在员工数量越多时,工资管理的工作量就会越大,而且在重复的数据输入和计算中容易出错。
所以就有了工资管理系统,本系统的宗旨及总体任务就是帮助财务部门提高工作效率,实现公司工资信息管理的自动化、规范化以及系统化。
本系统是通过对公司基本信息的管理、工资管理等环节的数据收集而建立的数据库工资管理系统,实现有用的数据的快速查询,减少操作中可能出现的错误以及减少数据管理的工作量。
1.2系统功能设计
本系统主要包括的功能有:
(1)保存职工的基本信息资料
(2)设置工资的级别
(3)根据工资管理数据和员工的工资进行计算
(4)将职工工资的数据进行保存,便于查找和核实
(5)对保存的数据,可以根据特殊字段进行查找
1.3系统模块划分
开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。
能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如下。
·工资信息设置部分:
包括设置员工的基本工资、岗位工资的级别和金额等。
·工资信息管理部分:
包括统计计算工资、查询工资和修改工资信息等。
·系统部分:
包括添加用户和删除用户等。
二、开发平台
微软公司的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
因此,本系统使用MicrosoftVisualBasic6.0开发。
数据库引用的是本期所学的SQLServer2000。
三、数据库分析设计
3.1数据库的建立
用SQL建立一个名为“工资管理系统”的数据库。
3.2数据表的建立
针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:
·基本工资信息:
包括工资级别和工资金额。
·岗位工资信息:
包括工资级别和工资金额。
·工资信息:
包括员工编号、基本工资、岗位工资、水电费、实发金额。
·部门信息:
包括部门编号、部门名称、部门负责人、部门人数。
·工资统计信息:
包括员工编号、姓名、出生年月、所属部门、文化程度、职称。
·用户信息:
包括用户名、密码和权限。
员工信息表
员工编号
char(8)
主键,不允许重复
姓名
char(8)
性别
char
(2)
出生年月
char(10)
所属部门
char(4)
外键
文化程度
char(4)
职称
char(12)
部门信息
部门编号
char(4)
主键,不允许重复
部门名称
char(20)
部门负责人
char(8)
部门人数
int
基本工资
工资级别
char
(2)
主键,不允许重复
工资金额
int(8,2)
岗位工资
工资级别
char
(2)
主键,不允许重复
工资金额
int
工资信息
员工编号
char(8)
主键,不允许重复;外键
基本工资
int
岗位工资
int
水电费
int
实发金额
int
用户表
用户名
char(8)
主键,不允许重复
密码
char(20)
权限
char(20)
3.3建立关系图
其关系图如下所示:
各表之间的联系
四、工资管理系统应用程序设计
4.1系统构成
系统构成如下图所示,包括登录、主界面、添加删除用户、基本工资、岗位工资、部门信息管理、员工信息管理、发放工资、添加或修改员工工资、查询员工工资10个窗体和两个公共模块组成。
4.2公共模块一
PublicpowerAsString
PublictempuserAsString
PubliccnModAsNewADODB.Connection
PublicUserNameAsString
PublicUserPwdAsString
PublicFunctionExecuteSQL(ByValsqlAsString,MsgStringAsString)AsADODB.Recordset
DimcnnAsADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
OnErrorGoToExecuteSQL_Error
sTokens=Split(sql)
Setcnn=NewADODB.Connection
cnn.Openconnectstring
IfInStr("INSERT,DELETE,UPDATE",UCase$(sTokens(0)))Then
cnn.Executesql
MsgString=sTokens(0)&"操作成功"
Else
Setrst=NewADODB.Recordset
rst.OpenTrim$(sql),cnn,adOpenKeyset,adLockOptimistic
SetExecuteSQL=rst
MsgString="查询到"&rst.RecordCount&"条记录"
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString="查询错误:
"&Err.Description
ResumeExecuteSQL_Exit
EndFunction
PublicFunctionconnectstring()AsString
connectstring="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理系统;DataSource=."
EndFunction
4.3公共模块二
PublicFunctionselect_sql(sqlAsString)AsADODB.Recordset
DimcnAsADODB.Connection
DimrstAsADODB.Recordset
OnErrorGoTosql_err:
Setcn=NewADODB.Connection
Setrst=NewADODB.Recordset
cn.Open"PROVIDER=MSDASQL;DRIVER={SQLServer};"&_
"SERVER=FALL;DATABASE=工资管理系统;UID=;PWD="
rst.Opensql,cn,3,2
Setselect_sql=rst
sql_err:
Setcn=Nothing
Setrst=Nothing
EndFunction
PublicFunctionexecute_sql(sqlAsString)AsADODB.Recordset
DimcnAsADODB.Connection
DimrstAsADODB.Recordset
OnErrorGoTosql_err:
Setcn=NewADODB.Connection
cn.Open"PROVIDER=MSDASQL;DRIVER={SQLServer};"&_
"SERVER=FALL;DATABASE=工资管理系统;UID=;PWD="
cn.BeginTrans
cn.Executesql
cn.CommitTrans
sql_err:
Setcn=Nothing
Setrst=Nothing
EndFunction
4.4“登录模块”详细设计
登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。
通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
PrivateSubcmd_cancel_Click()
UnloadMe
EndSub
PrivateSubcmd_ok_Click()
DimsqlAsString
DimrstAsADODB.Recordset
If(Trim(txt_key.Text)="")Then
MsgBox"请输入密码",vbOKOnly+vbExclamation,"提示"
Else
sql="select*from用户表where用户名='"&Trim(cmo_user.Text)&"'"
Setrst=ExecuteSQL(sql,"")
IfTrim(rst.Fields
(1))=Trim(txt_key.Text)Then
IfTrim(rst.Fields
(2))<>"管理员"Then
frm_main.tianjiayonghu=False
frm_main.shanchuyonghu=False
frm_main.xiugaiyonghu=False
frm_main.shezhi.Enabled=False
frm_main.xinxiweihu.Enabled=False
frm_main.Command2.Enabled=False
frm_main.Command3.Enabled=False
frm_main.Command4.Enabled=False
frm_main.Command5.Enabled=False
frm_main.Command6.Enabled=False
frm_main.Command7.Enabled=False
frm_main.Command8.Enabled=False
EndIf
rst.Close
UserName=Trim(cmo_user.Text)
frm_main.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入",vbOKOnly+vbExclamation,"警告"
txt_key.SetFocus
txt_key.Text=""
ExitSub
EndIf
EndIf
EndSub
PrivateSubcmo_user_KeyPress(KeyAsciiAsInteger)
KeyAscii=0
EndSub
PrivateSubForm_Load()
DimiAsInteger
DimsqlAsString
DimrstAsADODB.Recordset
sql="select用户名from用户表"
Setrst=ExecuteSQL(sql,"")
Fori=1Torst.RecordCount
cmo_user.AddItem(rst.Fields(0))
rst.MoveNext
Nexti
EndSub
4.5“主窗体模块”详细设计
主窗体设计的界面是用菜单编辑器做的,主要由系统、设置、信息维护和工资查询关于这五个大模块组成。
主窗体是进行相关操作的主界面。
在这几个里,管理员有所有的权利进行各种操作。
PrivateSubanbumenchaxun_Click()
Enabled=False
Form13.Show
EndSub
PrivateSubanyuangongchaxun_Click()
Enabled=False
Form12.Show
EndSub
PrivateSubCommand1_Click()
Enabled=False
Form12.Show
EndSub
PrivateSubCommand2_Click()
Enabled=False
Form9.Show
EndSub
PrivateSubCommand3_Click()
Enabled=False
frm_bumenxinxi.Show
EndSub
PrivateSubCommand4_Click()
Enabled=False
frm_jiben.Show
EndSub
PrivateSubCommand5_Click()
Enabled=False
frm_gangweigongzi.Show
EndSub
PrivateSubCommand6_Click()
Enabled=False
frm_tianjiayushanchu.Caption="添加用户"
frm_tianjiayushanchu.cmd_delete.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=False
frm_tianjiayushanchu.cmd_adduser.Default=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubCommand7_Click()
Enabled=False
frm_tianjiayushanchu.Caption="删除用户"
frm_tianjiayushanchu.cmd_adduser.Enabled=False
frm_tianjiayushanchu.txt_password.Enabled=False
frm_tianjiayushanchu.txt_power.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=False
frm_tianjiayushanchu.cmd_delete.Default=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubCommand8_Click()
Enabled=False
frm_tianjiayushanchu.Caption="修改用户"
frm_tianjiayushanchu.txt_username.Enabled=False
frm_tianjiayushanchu.cmd_delete.Enabled=False
frm_tianjiayushanchu.cmd_adduser.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubexit_Click()
UnloadMe
EndSub
PrivateSubfafanggongzi_Click()
Enabled=False
Form10.Show
EndSub
PrivateSubForm_Load()
DimiAsInteger
DimsqlAsString
DimrstAsADODB.Recordset
sql="select权限from用户表"
Setrst=ExecuteSQL(sql,"")
Fori=1Torst.RecordCount
rst.MoveNext
Nexti
EndSub
PrivateSubForm_Unload(CancelAsInteger)
End
EndSub
PrivateSubgangweigongzi_Click()
Enabled=False
frm_gangweigongzi.Show
EndSub
PrivateSubbumenguanli_Click()
Enabled=False
frm_bumenxinxi.Show
EndSub
PrivateSubjibengongzi_Click()
Enabled=False
frm_jiben.Show
EndSub
PrivateSubshanchuyonghu_Click()
Enabled=False
frm_tianjiayushanchu.Caption="删除用户"
frm_tianjiayushanchu.cmd_adduser.Enabled=False
frm_tianjiayushanchu.txt_password.Enabled=False
frm_tianjiayushanchu.txt_power.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=False
frm_tianjiayushanchu.cmd_delete.Default=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubtianjiayonghu_Click()
Enabled=False
frm_tianjiayushanchu.Caption="添加用户"
frm_tianjiayushanchu.cmd_delete.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=False
frm_tianjiayushanchu.cmd_adduser.Default=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubxiugaiyonghu_Click()
Enabled=False
frm_tianjiayushanchu.Caption="修改用户"
frm_tianjiayushanchu.txt_username.Enabled=False
frm_tianjiayushanchu.cmd_delete.Enabled=False
frm_tianjiayushanchu.cmd_adduser.Enabled=False
frm_tianjiayushanchu.cmd_alter.Enabled=True
frm_tianjiayushanchu.Show
EndSub
PrivateSubyuangongguanli_Click()
Enabled=False
Form9.Show
EndSub
4.6“添加、删除、修改模块”详细设计
单击主窗体“系统”菜单下面各项,会弹出下面窗体。
可进行添加用户、删除用户及修改用户信息的操作。
Dimmsg_sqlAsString
DimobjrsAsADODB.Recordset
PrivateSubcmd_adduser_Click()
DimsqlAsString
DimnewrstAsADODB.Recordset
sql="insertinto用户表values("&"'"&Trim(txt_username.Text)&"',"&"'"&Trim(txt_password.Text)&"',"&"'"&Trim(txt_power)&"'"&")"
Setnewrst=execute_sql(sql)
sql="select*from用户表"
Setnewrst=select_sql(sql)
SetDataGrid1.DataSource=newrst
txt_username.SetFocus
txt_username.Text=""
txt_password.Text=""
txt_power.Text=""
EndSub
PrivateSubcmd_cancel_Click()
frm_main.Enabled=True
UnloadMe
EndSub
PrivateSubcmd_delete_Click()
Ifobjrs.RecordCount=0Then
MsgBox"库中没有记录!
"
Else
Ifobjrs.RecordCount<>0Then
IfMsgBox("真的要删除该用户?
",vbYesNo+vbQuestion,"警告")=vbYesThen
objrs.Delete
MsgBox"删除成功!
",vbInformation,"提示"
EndIf
EndIf
EndIf
EndSub
PrivateSubcmd_alter_Click()
IfTrim(txt_password.Text)=""OrTrim(txt_power.Text)=""Then
MsgBox"请将修改后的信息填写完整!
",vbOKOnly+vbExclamation,"警告"
Else
IfMsgBox("确定修改吗?
",vbYesNo+vbExclamation,"警告")=vbYesThen
Setrst=ExecuteSQL("update用户表set密码='"&Trim(txt_password.Text)&"'where用户名='"&Trim(txt_username.Text)&"'",msg_sql)
Setrst=ExecuteSQL("update用户表set权限='"&Trim(txt_power.Text)&"'where用户名='"&Trim(txt_username.Text)&"'",msg_sql)
Setobjrs=ExecuteSQL("select*fr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 报告 工资管理 系统 sql vb