1、 课 程 设 计 课程设计名称: 郑州市清洁工管理系统 专 业 班 级 : 计科0805 学 生 姓 名 : 王燕中 学 号 : 48140519 指 导 教 师 : 王社伟 课程设计时间: 010.12.27-.1.7 计算机科学 专业课程设计任务书 学生姓名 王燕中 专业班级 计科0
2、805 学号 题 目 郑州市清洁工职员管理系统 课题性质 其它 课题起源 自拟课题 指导老师 王社伟 同组姓名 关键内容 1. 数据库建立和连接。 2. 合理化界面。 3. 功效模块:增加、修改、查询、删除。 4. 代码编写合理。 任务要求 做一个简单职员管理系统,以巩固和加深数据库应用和vb编程了解。 参考文件 [1]龙劲松,王俞. Delphi 6 开发人员指南[M].北京:机械工业出版社, [2]徐谡,张雷.Delphi应用和开发安全教程[M].北京:清华大学出版社,.1 [3]王业龙,范朝辉,李育龙.Delphi
3、软件工程案例精解[M]. 北京:电子工业出版社,.1 [4]黄晓敏,陈强.Delphi程序设计基础[M].北京:清华大学出版社,.9 [5]赵晓玲.可视化程序教程[M].北京:机械工业出版社,.1 审查意见 指导老师签字: 教研室主任签字: 年 月 日 1 需求分析 1.1 项目意义: 一直以来大家使用传统人工方法管理职员档案,这种管理方法存在着很多缺点,譬如:效率低、保密性差,另外时间一长,将产生大量文件和数据,这对于查找、更新和维护全部带来了不少困难。 伴随科学技术不停提升,计
4、算机科学日渐成熟,其强大功效已为大家深 刻认识,它已进入人类社会各个领域并发挥着越来越关键作用。企业管理系统出现轻而易举处理了传统管理人员档案方法缺点。伴伴随企业管理信息系统广泛应用,它已经成为了任何一家企业企业全部不可缺乏组成部分,它存在使得管理者更轻易了解自己企业职员,便于分配人员,易于进行调整。所以人事管理信息系统能够为管理人员提供充足信息和快捷查询手段。 1.2 项目功效: 1. 工作人员对职员管理功效 2. 职员对个人信息查询 3. 登录对角色判定 4. 后端数据库设计,前端应用程序选择 分析: 1. 管理员登录 2. 职员管理 : 查询、更新 编号、姓名、性别、
5、住址、电话、职称。 3.工资管理 : 查询、更新 工资等级、基础工资、职务补助、住房补助、工龄津贴、奖金。 3. 职员 能够查询基础信息,查询 编号、姓名、性别、住址、电话、职称。 2 概要设计 2.1经过对数据库基础信息分析,建立E-R图以下: 工资等级 职称名 管理员 密码 登录帐号 职员 编号 姓名 性别 住址 电话 基础工资 职务补助 房补 工龄 工龄津贴 工龄年数 评定 计算 奖惩 编号 金额 内容 登陆 工龄年数 职称 E-R图 将E-R图进行总结、归纳,建立以下关系图: 职员(编
6、号 姓名 性别 住址 电话 职称名 评定时间 工龄年数) 职称(职称名 工资等级 基础工资 职务补助 房补 ) 工龄(工龄年数 工龄津贴) 奖惩(编号 金额 内容) 管理员(登录帐号 密码) 关系图 2.2 表结构设计 2.2.1 职员表表结构 2.2.2 职称表表结构 2.2.3 工龄表表结构 2.2.4 管理员表表结构 2.2.5奖惩表结构 2.3 应用程序模块图及模块分析 2.3.1 应用程序模块图 企业系统 管理员登陆模块 职员登陆模块 更新模块 查
7、询模块 2.3.2 模块分析 该系统共包含职员登陆模块、管理员登录模块、查询模块和更新模块 1.职员登陆模块: 模块内容:此模块包含职员姓名、职员编号等。 模块功效:经过运行此模块,匹配输入正确职员编号,则能够查询职员具体信息。 2.管理员登录模块 模块内容:此模块包含管理员登录帐号、密码输入。 模块功效:经过此模块,匹配输入正确管理员登录帐号和密码,则许可进入管理员操作页面。 3.查询模块 模块内容:此模块能够查看职员具体信息和工资信息。 模块功效:经过此模块,职员
8、和管理员全部能够完成对应查询工作。 4.更新模块 模块内容:此模块能够实现修改信息功效。 模块功效:此模块是对管理员应用,管理员能够修改职员个人信息等等。 3.具体设计 使用该系统,您能够选择使用按钮进行操作,进入其它功效使用。 公共模块代码: Public myconn As SqlClient.SqlConnection = New SqlClient.SqlConnection("Data Source=RENWEIFENG;Initial Catalog=企业管理;Integrated Security=True") Public myc
9、md As New SqlClient.SqlCommand 1 主页面: 2点击“工登录录”能够选择职员具体信息。下图是职员登录后页面。 完成查询功效关键代码: mycmd.Connection = myconn mycmd.CommandText = "select * from 职员表 where 编号='" & TextBox1.Text & "'" Dim myadapter As New SqlClient.SqlDataAdapter(mycmd) Dim mydataset As New DataSet myadapter.Fill(myd
10、ataset, "职员表") Me.DataGrid1.DataSource = mydataset.Tables("职员表") 2.点击主页面中“管理员登录”——管理员相关选项,可进行管理员登录。 验证时关键代码: Dim conn As New SqlClient.SqlConnection("Data Source=RENWEIFENG;Initial Catalog=企业管理;Integrated Security=True") Dim sqlstr As String = "Select * from 管理员表" Dim com
11、 As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn) Dim flag As Boolean conn.Open() Dim r As SqlClient.SqlDataReader = com.ExecuteReader While r.Read If r.Item(0) = Trim(TextBox1.Text) And r.Item(1) = Trim(TextBox2.Text) Then
12、 flag = True End If End While conn.Close() If Not flag Then MessageBox.Show("登录失败,帐号或密码错误!") Else Dim f110 As New Form6 f110.Show() End If 3.管理员登陆成功后,可进入到功效选项页面。管理员能够选择对职员基础信息进行管理、对职职员资清单进行管理和奖惩管
13、理。 4.管理员登录后,出现三个选项卡——职员管理,工资管理,奖罚管理。 职员插入时关键代码: mycmd.Connection = myconn Dim sql As String = "insert into 职称表 values('" & TextBox1.Text & "','" & TextBox15.Text & "','" & TextBox9.Text & "','" & TextBox16.Text & "','" & ComboBox1.Text & "'," & Val(TextBox10.Text) & ",'" & TextBox11.Text
14、 & "')" myconn.Open() mycmd.CommandType = CommandType.Text mycmd.CommandText = sql mycmd.ExecuteNonQuery() MessageBox.Show("插入成功!") myconn.Close() 5.工资管理界面:经过本页面能够显示不一样职称名不一样工资信息,对每个职称名对应信息查询,插入,更新,等操作。 工资更新时关键代码: mycmd.Connection = myconn
15、 Dim sql As String = "update 职称表 set 工资等级='" & TextBox3.Text & "'," & " 基础工资=" & Trim(TextBox4.Text) & "," & " 职务补助 =" & _ Trim(TextBox5.Text) & "," & " 房补 =" & Trim(TextBox6.Text) & "where 职称名='" & TextBox2.Text & "'" myconn.Open() mycmd.CommandType = CommandType.Text
16、mycmd.CommandText = sql mycmd.ExecuteNonQuery() MessageBox.Show("更新成功!") myconn.Close() 6.工龄管理界面:经过本页面能够显示不一样工龄年数不一样工龄津贴,对工龄对应津贴查询,插入,更新,等操作。 7.进入对职员进行奖惩操作页面:经过本页面能够显示受到奖罚职员,对奖罚职员插入,删除和查看。 首优异行绑定 插入时代码:mybind.AddNew() 删除时代码:mybind.RemoveAt(mybind.Position) 确定时代码:
17、mybind.EndCurrentEdit() Me.SqlDataAdapter1.Update(Me.mydataset.Tables("奖惩")) 取消时代码:mybind.CancelCurrentEdit() 左移时代码:mybind.Position -= 1 右移时代码:mybind.Position += 1 移到最左端时代码:mybind.Position = 0 移到最右端时代码:mybind.Position = mybind.Count – 1 刷新时关键代码: Dim DataSet1 As New 企业管理DataSet
18、 Dim mysql = "select * from 奖惩" Dim SqlDataAdapter1 As New SqlClient.SqlDataAdapter(mysql, myconn) SqlDataAdapter1.Fill(DataSet1, "奖惩") DataGrid1.SetDataBinding(DataSet1, "奖惩") 4. 测试 完成该项目设计后,经过测试,全部功效均能实现;包含向数据库中表插入、删除、修改信息及查询信息;能够立即刷新数据源等;但也存在以下问题: 问题一:在数据库连接SqlCon
19、nection1.Close()或SqlConnection1.open()犯错 原因: 处理方法:每次打开或关闭连接时,先判定连接状态 If SqlConnection1.State = ConnectionState.Closed Then SqlConnection1.Open() End If If SqlConnection1.State = ConnectionState.Open Then SqlConnection1.Close() End If 问题二:类似实施SqlDataReader.Read()操作后,接着实施另一个SqlDataRea
20、der1.Read()或SqlDataReader1 = SqlCommand1.ExecuteReader()时犯错 原因: 处理方法:每次实施完SqlDataReader1.Read()操作后,如不需要就立即实施SqlDataReader.Close()操作 5. 结论 在早期,我们一起讨论并使用SQL sever建立了基础数据库,对前端控制设计进行了功效分类;使用VB.net进行数据库连接。 经过这次数据库课程设计,我认为碰到困难很多,做课程设计时显著感觉平时学到东西不够。 比如,在画E-R图时候,我想了是用属性表示某个对象合适,还是用实体集表示更为合适;还分析了是否使用通
21、常化。 总结该系统功效使我对整个数据库系统有了全方面了解,使各部分能够联络起来,不在是单独几块内容。 此次课程设计不仅考验了我数据库系统概念和数据库设计,而且愈加检验了我使用VB熟练程度。比如说属性修改等等。 经过此次课程设计,我部分知识利用熟练程度得到了提升,深入了解了数据库结构特点和设计过程。 最终,还要感谢在此过程中帮助过我同学! 参考文件: [1] 曹然彬.《PowerBuilder程序设计》[M].大连理工大学出版社,.8. [2] 朱如龙.《SQL Server数据库应用系统开发技术》[M].机诫工业出版社,.1.
22、 [3] 王晟.《PowerBuilder数据库开发经典案例解析》[M]. 清华大学出版社,.4. [4] 董军 王玉 康祥顺.《PowerBuilder案例开发集锦》[M].电子工业出版社,.11 [5]刘志妩 张焕君 张秀芝,《数据库编程技术教程》,沈阳,沈阳理工大学,-7 [6]龙劲松,王俞. Delphi 6 开发人员指南[M].北京:机械工业出版社, [7]徐谡,张雷.Delphi应用和开发安全教程[M].北京:清华大学出版社,.1 课程设计收获和体会 历时2周课程设计现在已经靠近尾声
23、了,回想起这一个学期日子,感觉收获颇多。我这次课程设计任务是做一个协议管理信息系统,它用到开发工具是vb语言,SQL Server数据库。 在设计开始阶段为了立即熟悉vb语言,我具体翻阅相关该方面资料,对书中基础理论知识逐章逐节地分析,同时还上机操作来加深了解。尤其是对书中部分经典实例,认真学习它编程思想,吸收它编程技巧,弄懂程序中每句话含义。在对所要应用技术有了一个基础认识以后,就开始构思自己系统设计。认真听老师对设计要求讲解,依据任务书要求将整个系统分为多个模块,每个模块具体又要实现哪些功效,然后就逐一模块去一一具体设计,设计过程中不时地翻阅资料,用部分巧妙技术来优化程序。程序代码完成以
24、后,要进行运行调试,刚开始因为没有调试经验和方法效率很低,最终在老师和同学帮助下,最终顺利完成了,自己也从中学到了不少东西。 经过此次课程设计,提升了我开发数据库应用程序能力,熟悉和利用现代数据库开发工具和方法。因为时间较短,课程设计题目比较简单,工作量也比较小。不过,经过小型应用程序开发,使我快速掌握了数据库应用程序相关技术,为以后开发大型应用程序打下了基础。此次课程设计还使我了解到数据库基础开发技术不外乎数据增、删、改、查,其难度并不复杂,不过要想开发出理想数据库应用程序,关键是软件创意,要发挥想象力,设计出有个性功效和用户界面。 总而言之,经过几周课程设计,让我感受了软件开发整个过程
25、课程设计不仅是对我在大学所学知识一个综合利用,也是一次增加知识和经验好机会,同时也使我学会了很多处理、处理问题方法,大大提升了自己动手能力,为立即走上工作岗位打下了良好基础。 信息科学和工程 学院课程设计成绩评价表 课程名称:数据库应用课程设计 设计题目:郑州市清洁工管理系统 专业:计科 班级:0805 姓名:王燕中 学号:48140519 序号 评审项目 分 数 满分标准说明 1 内 容 思绪清楚;语言表示正确,概念清楚,论点正确;试验方法科学,分析归纳合理;结论严谨,设计有应用价值。任务饱满,做
26、了大量工作。 2 创 新 内容新奇,题目能反应新技术,对前人工作有改善或突破,或有独特见解 3 完整性、实用性 整体构思合理,理论依据充足,设计完整,实用性强 4 数据正确、可靠 数据正确,公式推导正确 5 规 范 性 设计格式、绘图、图纸、试验数据、标准利用等符合相关标准和要求 6 纪 律 性 能很好遵守各项纪律,设计过程认真; 7 答 辩 准备工作充足,回复问题有理论依据,基础概念清楚。关键问题回复简明正确。在要求时间内作完汇报。 总 分 综 合 意 见 指导老师 王社伟 11月28 日






