资源描述
。
课程设计报告
课程设计题目: 人事管理系统
姓 名:
学 号:
班 级:
指导教师 :
2016 年1月15日
-可编辑修改-
一. 题目分析:
人事管理系统是企、事业单位常见的计算机信息管理系统。它的主要任务是对各种人事信息进行日常的信息管理,如人员信息的输入、查询、修改、增加、删除,迅速准确地完成各种人员信息的统计计算和汇总,快速打印出报表。在建立与实现人事管理系统时,进行了功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。工资管理系统是数据库管理系统的一个比较典型的应用,前台使用的是微软的VB6.0,后台数据库采用Microsoft SQL Sever数据库。运行结果证明,本人事管理系统极大提高了工作效率,节省了人力和物力,自重满足企业员工管理的需要。
人事管理系统的主要任务是用计算机对各种员工信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种员工信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了人事管理系统。人事管理系统主要有以下几大功能:
(1) 对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。
(2) 对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。
(3) 查询统计功能。要求即可以单项查询,比如查看某个职工的就职情况等;也可以多项查询,比如某个部门所有的员工的工资信息。
二. 设计分析:
1,数据表的设计:
(1)基本信息表:
键
名称
数据类型
大小
空
默认值
主键
员工编号
char
8
Not null
姓名
char
8
Not null
性别
char
2
null
“男”
出生年月
datetime
8
null
外键
所属部门
char
4
null
文化程度
char
4
null
职称
char
12
null
身份证号
Varchar
50
null
婚姻状况
Char
20
null
备注
Varchar
100
null
年龄
Int
Null
(2) 基本部门表
键
名称
数据类型
大小
空
默认值
主键
部门编号
char
4
Not null
部门名称
char
20
null
部门负责人
char
8
null
部门人数
int
4
null
(3) 职工工资表
键
名称
数据类型
大小
空
默认值
主键、外键
员工编号
char
8
不可以
外键
部门编号
char
4
可以
基本工资
numeric
5(8,2)
可以
奖金
numeric
5(8,2)
可以
2. ER图设计:
3.ER图转换成关系模式:(主键添加下划线)
(1) 基本信息(编号,姓名,性别,籍贯,年龄,学历,婚姻状况,部门,职称,参加工作时间,岗位,工资,身份证号,电话号码,备注)
(2) 职工部门:(部门编号,部门名称,职工总数,部门负责人,所有职工编号)
(3) 职工工资表:(编号,姓名,工资,奖金)
(4) 人事管理(编号,部门编号,姓名)
三. 创建人事管理系统(数据库部分)
1创建数据库:
(1) 创建数据库的实现:
create database 人事管理系统
on primary
(
name=人事管理系统,
filename='G:\数据库\人事管理系统.mdf',
size=5,
maxsize=100,
filegrowth=10%
)
log on
(
name=人事信息管理系统,
filename='G:\数据库\人事管理系统.ldf',
size=3,
maxsize=100,
filegrowth=5
)
(2) 创建数据库:
2. 创建基本数据表:
(1)创建数据标的实现;
use 人事管理系统
create table 基本职工信息表
(姓名 varchar(20),
编号 char(8),
性别 char(8),
籍贯 char(10),
年龄 int,
学历 varchar(20),
婚姻状况 varchar(20),
部门 varchar(20),
职称 varchar(20),
参加工作时间 char(10),
岗位 varchar(30),
工资 char(20),
省份证号 varchar(30),
电话号码 varchar(30),
备注 varchar (50)
)
use 人事管理系统
create table 职工部门表
(部门编号 int,
部门名称 varchar(30),
部门负责人 varchar(30),
职工总数 int,
所有职员编号 varchar(100)
)
use 人事管理系统
create table 职工工资表
(编号 char(8),
姓名 varchar(50),
工资 char(20),
奖金 char(8)
)
数据表的创建:
基本信息表:职工部门表
职工工资表
3. 创建存储过程:
create proc p2(@sname varchar(20))
as
if exists( select * from 职工基本信息表where sname=@sname)
select * from 职工基本信息表where sname=@sname
else
print '查无此人'
p2 '刘'
4. 创建触发器:
create trigger tr1
on 基本职工信息表
for insert
as
print '任何人不得添加数据'
rollback
select * from s
四,创建人事管理系统访问键面:(VB部分)
1,创建键面的实现代码:
(1)基本职工信息查询:
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub DataGrid1_Click()
With Adodc1.Recordset
Text1(0) = .Fields("姓名")
Text1(1) = .Fields("编号")
Text1(2) = .Fields("性别")
Text1(3) = .Fields("籍贯")
End With
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
strsql1 = "select *from 基本职工信息表"
Adodc1.ConnectionString = conn
Adodc1.RecordSource = strsql1
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
With Adodc1.Recordset
Text1.Text = .Fields("姓名")
Text2.Text = .Fields("编号")
Text3.Text = .Fields("性别")
Text4.Text = .Fields("籍贯")
End With
End Sub
(2) 基本的职工工资:
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub DataGrid1_Click()
With Adodc1.Recordset
Text1(0) = .Fields("姓名")
Text1(1) = .Fields("编号")
Text1(2) = .Fields("性别")
Text1(3) = .Fields("籍贯")
End With
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
strsql1 = "select *from 基本职工信息表"
Adodc1.ConnectionString = conn
Adodc1.RecordSource = strsql1
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
With Adodc1.Recordset
Text1.Text = .Fields("姓名")
Text2.Text = .Fields("编号")
Text3.Text = .Fields("性别")
Text4.Text = .Fields("籍贯")
End With
End Sub
(3) 职工部门:
Private Sub cmdAdd_Click()
Data1.Recordset.AddNew
End Sub
Private Sub cmdDelete_Click()
'如果删除记录集的最后一条记录
'记录或记录集中唯一的记录
Data1.Recordset.Delete
Data1.Recordset.MoveNext
End Sub
Private Sub cmdRefresh_Click()
'这仅对多用户应用程序才是需要的
Data1.Refresh
End Sub
Private Sub cmdUpdate_Click()
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub Data1_Error(DataErr As Integer, Response As Integer)
'这就是放置错误处理代码的地方
'如果想忽略错误,注释掉下一行代码
'如果想捕捉错误,在这里添加错误处理代码
MsgBox "数据错误事件命中错误:" & Error$(DataErr)
Response = 0 '忽略错误
End Sub
Private Sub Data1_Reposition()
Screen.MousePointer = vbDefault
On Error Resume Next
'这将显示当前记录位置
'为动态集和快照
Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)
'对于 Table 对象,当记录集创建后并使用下面的行时,
'必须设置 Index 属性
'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer)
Select Case Action
Case vbDataActionMoveFirst
Case vbDataActionMovePrevious
Case vbDataActionMoveNext
Case vbDataActionMoveLast
Case vbDataActionAddNew
Case vbDataActionUpdate
Case vbDataActionDelete
Case vbDataActionFind
Case vbDataActionBookmark
Case vbDataActionClose
End Select
Screen.MousePointer = vbHourglass
End Sub
(4)基本职工信息:
Private Sub cmdAdd_Click()
Data1.Recordset.AddNew
End Sub
Private Sub cmdDelete_Click()
'如果删除记录集的最后一条记录
'记录或记录集中唯一的记录
Data1.Recordset.Delete
Data1.Recordset.MoveNext
End Sub
Private Sub cmdRefresh_Click()
'这仅对多用户应用程序才是需要的
Data1.Refresh
End Sub
Private Sub cmdUpdate_Click()
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub Data1_Error(DataErr As Integer, Response As Integer)
'这就是放置错误处理代码的地方
'如果想忽略错误,注释掉下一行代码
'如果想捕捉错误,在这里添加错误处理代码
MsgBox "数据错误事件命中错误:" & Error$(DataErr)
Response = 0 '忽略错误
End Sub
Private Sub Data1_Reposition()
Screen.MousePointer = vbDefault
On Error Resume Next
'这将显示当前记录位置
'为动态集和快照
Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)
'对于 Table 对象,当记录集创建后并使用下面的行时,
'必须设置 Index 属性
'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer)
'这是放置验证代码的地方
'当下面的动作发生时,调用这个事件
Select Case Action
Case vbDataActionMoveFirst
Case vbDataActionMovePrevious
Case vbDataActionMoveNext
Case vbDataActionMoveLast
Case vbDataActionAddNew
Case vbDataActionUpdate
Case vbDataActionDelete
Case vbDataActionFind
Case vbDataActionBookmark
Case vbDataActionClose
End Select
Screen.MousePointer = vbHourglass
End Sub
2.实现:
(1)登陆键面:
(2)基本菜单
(3)修改密码
(4) 基本信息:
(5)
五:实验总结
1. 实验中遇到的问题:
(1) 数据库中存储过程和触发器的建立,因为在平时的学习中没有太认真的学习这一块以至于在课程设计的过程中这块存在者严重的问题,但是在同学的帮助下及时的得到了解决
(2) 数据库与VB的连接访问
2,心得:
很多的题目看似简单,其实不然,,一开始看了只有这么几个模块是心里挺高兴的,但是当我真真正正地去把一个操作写成功时,很多意想不到的情况发生了。有时候会为了一个操作不能调试成功而整个晚上都不能去安心做其他的作业。
这也就要求我们要冷静沉着、兢兢业业的去对待这件事,编程是一个很繁琐的过程,要考虑到很多错误转移情况,在这期间会有很多以前不曾想过的问题出现,次数多了,不免会有觉得做不下去的感觉。但是我从中发现,只要一步一步调试、静下心来看待问题,再复杂再微小的问题都会迎刃而解,当一个程序被调试出来时,那时的快乐相比与任何困难都值得的。经过课程设计我觉得立足程序、回归书本才是组重要的,在着手写程序时觉得思路一片混乱,无意间出现的问题会不知道怎么解决。这时,需要回归书本,书本是前人总结的经验,几乎所有情况都会有解决方法。只有把书本“吃透”,在遇到问题是才会反应快。
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
展开阅读全文