工资管理系统vb.docx
《工资管理系统vb.docx》由会员分享,可在线阅读,更多相关《工资管理系统vb.docx(20页珍藏版)》请在冰豆网上搜索。
![工资管理系统vb.docx](https://file1.bdocx.com/fileroot1/2022-11/23/627a8b17-00f4-4543-a4ce-78462c383476/627a8b17-00f4-4543-a4ce-78462c3834761.gif)
工资管理系统vb
九江学院
信息科学与技术学院
《数据库课程设计》
课程设计报告书
题目:
工资管理系统
专业:
计算机信息管理
目录
《SQLServer2000数据库实训》课程设计报告书1
1.课程设计计划3
2.系统需求分析与功能设计4
3.总体设计5
4.数据库设计6
5.程序模块设计9
6.技术难点与分析11
7.系统测试12
8.心得体会13
9.参考文献14
1.课程设计计划
实现VB与SQLServer2000的连接,并用两者结合做出一个简单的工资管理系统。
具体如下:
.在数据库中建立一个名为“工资管理”的数据库,并在这个数据库下建立出相关表格,如:
员工信息、工资信息、奖惩信息。
.实现VB与数据库的连接。
.在VB中设置出员工信息、工资信息、奖惩信息三个子系统。
三个子系统,分别都要具有简单的操作:
添加、删除、查询、修改等操作,使三者可以完成工资管理系统的所需的功能。
.用户进入登录界面登陆后,可以继续选择所要进的子系统,如要添加则进入添加界面,如是查询则输入相应的数据进行查询,如是删除则选中记录后进行删除,完成后退出相应界面回到上一级。
2.系统需求分析与功能设计(根据课题的要求进行简单的需求分析,设计相应的数据流图,得出相应的系统功能需要,系统数据流图)
通过对工厂管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。
1、员工信息,包括的数据项有:
员工编号,姓名,性别,部门,职位,职称,学历,基本工资,入职日期,出生日期,电话,地址,籍贯,名族。
2、工资管理—工资信息,包括的数据项有:
日期,编号,姓名,部门,提成,奖惩,基本工资,应发工资。
3、工资奖惩—奖惩信息,包括的数据项有:
编号,姓名,性别,职位,部门,奖惩日期,奖惩原因,奖惩分数。
其中管理员通过登陆入下的界面可以对员工的信息、工资、奖惩信息进行添加、修改、查询、删除等操作。
而其他人不具备这个权利。
这个项目所用的环境是VB跟SQL两个环境来做的这个系统,其中在SQL是企业管理中建立相应的表格,如、员工信息表、员工工资表、员工奖惩表等,然后再VB中进行SQL2000的编辑。
在VB中建立相应的内容,然后进行代码的编辑,使得管理员在点击登陆过后能够顺利的进行相应的添加、修改、查询操作。
操作图如图:
3.总体设计
(根据功能需求,设计系统的总体结构。
系统总体功能模块图,菜单的设计)
4.数据库设计(完成数据库的概念设计、逻辑设计,按数据库设计方法和规范化理论得出符合3NF的逻辑模型,ER图设计,ER图转化为相应的关系模式,设计数据库的逻辑模型(以表格),在机器上完成数据库的物理设计)
数据库概念设计结构:
图1员工信息E-R图
图2工资信息E-R图
图3奖惩信息E-R图
2.实体与实体之间的关系E-R图
3.数据库逻辑结构设计:
员工信息表
字段名
数据类型
长度
说明
编号
char
7
非空、主键
性别
char
2
可为空
职位
char
12
可为空
学历
char
4
可为空
入职日期
datetime
8
可为空
电话
char
11
可为空
籍贯
char
16
可为空
姓名
char
8
可为空
部门
varchar
10
可为空
职称
char
12
可为空
基本工资
int
4
可为空
出生日期
datatime
8
可为空
地址
varchar
40
可为空
民族
char
10
可为空
工资信息表
字段名
数据类型
长度
说明
编号
char
7
非空、主键
部门
varchar
10
可为空
奖惩
int
4
可为空
应发工资
int
4
可为空
姓名
char
8
可为空
提成
int
4
可为空
基本工资
int
4
可为空
日期
datetime
8
可为空
奖惩信息表
字段名
数据类型
长度
说明
编号
char
7
非空、主键
性别
char
2
可为空
部门
varchar
10
可为空
奖惩原因
varchar
40
可为空
姓名
char
8
可为空
职位
char
12
可为空
奖惩日期
datetime
8
可为空
奖惩分数
int
4
可为空
5.程序模块设计
(设计并编写输入\输出、查询\统计、数据维护等功能模块的应用程序,每个人设计2个以上的模块,一个组完成一个完整的系统,数据库访问,存储过程调用等作重点阐述)
1.用户登录
PrivateSubCommand1_Click()
IfText1.Text="admin"AndText2.Text="123"Then
Form1.Hide
Form2.Show
Else
Label3.Caption="密码或用户名输入错误,请重新确认并输入!
"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text1.SetFocus
EndSub
2.系统功能的选择,如:
进入基本信息管理子系统
PrivateSubCommand1_Click()
Form3.Show
Form2.Hide
EndSub
3.添加记录,如:
添加员工信息
PrivateSubCommand1_Click()
Form6.Show
EndSub
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Adodc1.Recordset("编号")=Text1(0).Text
Adodc1.Recordset("姓名")=Text1
(1).Text
Adodc1.Recordset("性别")=Text1
(2).Text
Adodc1.Recordset("民族")=Text1(3).Text
Adodc1.Recordset("籍贯")=Text1(4).Text
Adodc1.Recordset("出生日期")=Text1(5).Text
Adodc1.Recordset("电话")=Text1(6).Text
Adodc1.Recordset("地址")=Text1(7).Text
Adodc1.Recordset("部门")=Text1(8).Text
Adodc1.Recordset("职位")=Text1(9).Text
Adodc1.Recordset("职称")=Text1(10).Text
Adodc1.Recordset("学历")=Text1(11).Text
Adodc1.Recordset("入职日期")=Text1(12).Text
Adodc1.Recordset("基本工资")=Text1(13).Text
Adodc1.Recordset.Update
EndSub
4.删除记录,如:
删除员工的基本信息
PrivateSubCommand5_Click()
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
IfAdodc1.Recordset.RecordCount<>0Then
Adodc1.Recordset.MoveLast
EndIf
EndIf
EndIf
EndSub
5.修改记录,如:
修改员工基本信息
PrivateSubCommand4_Click()
Adodc1.Recordset("编号")=Text1(0).Text
Adodc1.Recordset("姓名")=Text1
(1).Text
Adodc1.Recordset("性别")=Text1
(2).Text
Adodc1.Recordset("民族")=Text1(3).Text
Adodc1.Recordset("籍贯")=Text1(4).Text
Adodc1.Recordset("出生日期")=Text1(5).Text
Adodc1.Recordset("电话")=Text1(6).Text
Adodc1.Recordset("地址")=Text1(7).Text
Adodc1.Recordset("部门")=Text1(8).Text
Adodc1.Recordset("职位")=Text1(9).Text
Adodc1.Recordset("职称")=Text1(10).Text
Adodc1.Recordset("学历")=Text1(11).Text
Adodc1.Recordset("入职日期")=Text1(12).Text
Adodc1.Recordset("基本工资")=Text1(13).Text
MsgBox("修改成功!
")
EndSub
6.查询记录,如:
查询某个员工的基本信息
PrivateSubCommand4_Click()
DimcnAsNewadodb.Connection
DimrsAsNewadodb.Recordset
cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理"
cn.Open
rs.Open"select*from员工信息where编号='"&Trim(Text1.Text)&"'",cn,1,1,-1
SetDataGrid1.DataSource=rs
DataGrid1.Refresh
EndSub
6.技术难点与分析
(主要内容:
本课题在设计过程中所遇到的技术难点及解决方法。
)
1、VB与SQLServer2000连接
在向VB中加入Adodc和Datagrid控件是,要对其属性进行设置后,运行时依然无法与与数据库建立连接,一直报错,纠结了好久都不知道原因。
经后来反复研究才发现在Adodc控件的RecordSource属性中的“表或存储过程名称”没有设置,因为要有对应的表的内容才能对数据库中的字段进行操作!
2、数据的添加运行报错
在文本框内输入编号、姓名、性别等内容后,点击确定按钮会报出出现多句语句发生错误的提示框,而更新数据库后却发现新纪录已经添加成功。
在对程序进行进一步的查看编辑,发现程序并没有出现错误,而上述情况却一直出现。
之后,经老师及XX搜索,初级确定可能与数据库字段是否允许为空有关,对字段重新设置成除主键外其他都允许为空,发现这个问题还是一直出现,可是如果添加的记录所对应的相关属性都输入后,在点击确定按钮,发现就可以添加成功。
为了更加确定这个结果,做了多次测试,结果为其中几个字段必须要输入,其他可以为空。
因此特别做了注释,提醒用户注意事项!
3、数据的修改运行报错
在文本框内输入编号、姓名、性别等内容后,点击确定按钮也会报出出现多句语句发生错误的提示框,似乎与添加时的情况类似,但是不同的是,大部分情况下会报出“违违反了PRIMARYKEY的设置,不允许有相同字段属性值出现”,对于这点很是不理解,怎么会出现这样的情况,在查阅了其他的资料后,分析得出:
①可能是在编写程序时,由于添加和修改用了同一个界面,所以功能混淆;
和添加一样,必须所有相关的属性都要输入。
为此进行如下验证:
在此界面下进行添加,没有出错,说明混淆的可能行比较小;②对要修改的记录的所有属性输入文本框,单击“确定”后,修改成功了。
所以该问题的解决的方案和添加时的解决方案一样,需要全部输入方才有效。
4、数据删除问题
单击“删除”按钮后,记录删除了但不是操作者指定的记录,经分析后认为是程序没写完整,可能少了什么控制的语句。
查阅了很多网上的程序,竟然和我们的很相似,并没有什么控制语句。
于是经过一段时间的反复运行,发现在程序运行时,我们都忽略了一个很重要的问题,就是Datagrid的用途,因为对它不了解,以为只是显示建立的数据库表中内容,其实是可以点击相应的某行选中此行,在对其进行操作的,当我们在运用删除操作时,只要把想要删除的记录选中,就可以轻松删除了,不过每次只能删除一条记录。
7.系统测试
(主要内容:
测试环境描述,测试系统结构,系统功能测试,测试数据,测试结果等)
1.登陆界面
2.进入系统功能选择
3.
在输入编号框中输入员工编号进行查询:
点击查询按钮,显示查询结果
4.
信息删除,选中要删除的记录
单击删除按钮
5.信息添加,点击添加按钮进入添加界面,输入要添加的记录,单击添加确认
6.退出添加界面进入修改界面,进行修改,单击修改确认
7.返回系统功能选择,确认退出
8.心得体会
(主要对本课题开发过程进行归纳和总结,还应包括所得结果与已有结果的比较和本课题尚存在的问题,以及进一步开发的见解与建议。
感谢对本课题研究与论文撰写过程中曾直接给予帮助的人员)
其实做完这个系统首先要感谢的是老师耐心的指导。
在开发过程中,有时我们会遇到一些意想不到的难题和疑惑,在指导老师的协助下,这些难题以及疑惑被我们一个个的攻破,并使系统最终得以顺利地完成。
正是由于我们大家的共同的热情,默契的合作和不懈的努力,使我们的课题得以顺利地完全地达到了预期的目标。
在编写过程中,我们深刻感觉到系统质量的重要性。
都十分重视自己的系统工程,把整个系统开发都纳入严格的管理之中。
在整个开发中我们感觉到如果能够对系统开发过程的质量加以控制,则可以大幅度的提高我们做的系统质量。
只有在开发工程中严格遵守质量管理,所做出的成果质量才有保证。
否则开发工作一旦进行到最后,无论怎样通过测试和补漏洞,都会很麻烦甚至无济于事。
编码的错误容易查出,但设计的错误如果带到编码阶段就会是错误逐步扩大,最终很可能造成严重的后果。
例如在分析阶段,识别系统中的对象以及它们之间的关系是紧密相连的,在设计阶段,仍沿用分析的结果,并根据实现的需要增加或删除合并某些对象,或在某些对象中添加相关的属性和操作,同时设计实现这些操作的方法;在实现阶段,则用程序设计语言来描述这些对象以及它们之间的联系。
因此面向对象的方法的分析、设计、实现的结果能直接映照到客观世界中系统的实体上,也就是说,解空间的结构与问题空间的结构是一致的。
对象以属性及操作为接口,这些特征使得系统的体系结构是模块化的,这种体系结构易于理解扩充和修改。
在设计中,我深切体会到合理建库的必要性和重要性,每一个表必须有序号且最好为关键字由系统自动生成;表的字段逻辑结构要合理;尽量建成主从关系的表才更有利编程;在设计中,由于需要创建很多form所以form名字应能充分表达意义。
9.参考文献
[1].萨师煊、王珊数据库系统概论(第二版)高等教育出版社
[2].张玉生VisualBasic程序设计教程中国电力出版社
[3].鲁荣江、王立丰VisualBasic6.0项目案例导航科学出版社
[4].谭浩强SQLServer2000数据库实训教程清华大学出版社
[5].黄梯云管理信息系统高等教育出版社