课程设计报告.docx
《课程设计报告.docx》由会员分享,可在线阅读,更多相关《课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
课程设计报告
课程设计
课程设计名称:
数据库应用课程设计
专业班级:
计科0706
学生姓名:
任威风
学号:
20074140616
指导教师:
苏小玲
课程设计时间:
2010.1.4-2010.1.15
计算机科学与技术专业课程设计任务书
学生姓名
任威风
专业班级
计科0706
学号
20074140616
题目
公司管理
课题性质
A.工程设计
课题来源
D.自拟课题
指导教师
苏小玲
同组姓名
无
主要内容
一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:
效率低、保密性差等原因。
所以本系统主要完成对公司员工的基本管理,包括:
职工对个人信息的查询。
登录对角色的判断。
管理员对员工信息的查询,更新,插入等操作。
后端数据库设计,前端应用程序的选择。
任务要求
综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。
要求根据本课题设计出合理的数据结构,并实现公司中员工的登录,对自己信息的查询,管理员登录的验证,对员工信息的查询,对员工信息的更新等模块。
参考文献
1郑阿奇,彭作民.VB.NET程序设计教程.北京:
机械工业出版社,2006
2胡海璐.VB.NET控件应用实例.北京:
电子工业出版社,2003
3李伟红,赵玉娟.SQLServer2000数据库及应用.北京:
中国水利水电出版社,2007
4王珊,萨师煊.数据库系统概论(第四版).北京:
高等教育出版社,2006
审查意见
指导教师签字:
教研室主任签字:
2009年12月31日
1需求分析
1.1项目意义:
一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深
刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
公司管理系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。
伴随着公司管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。
所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。
1.2项目功能:
1.工作人员对职工的管理功能
2.职工对个人信息的查询
3.登录对角色的判断
4.后端数据库设计,前端应用程序的选择
分析:
1.管理员登录
2.职工管理:
查询、更新编号、姓名、性别、住址、电话、职称。
3.工资管理:
查询、更新工资级别、基本工资、职务补助、住房补贴、工龄津贴、奖金。
3.职工可以查询基本信息,查询编号、姓名、性别、住址、电话、职称。
2概要设计
2.1通过对数据库基本信息的分析,建立E-R图如下:
E-R图
将E-R图进行总结、归纳,建立如下关系图:
职工(编号姓名性别住址电话职称名评定时间工龄年数)
职称(职称名工资级别基本工资职务补助房补)
工龄(工龄年数工龄津贴)
奖惩(编号金额内容)
管理员(登录帐号密码)
关系图
2.2表结构的设计
2.2.1职工表表结构
2.2.2职称表表结构
2.2.3工龄表表结构
2.2.4管理员表表结构
2.2.5奖惩表结构
2.3应用程序的模块图及模块分析
2.3.1应用程序的模块图
2.3.2模块分析
该系统共包含职工登陆模块、管理员登录模块、查询模块和更新模块
1.职工登陆模块:
模块内容:
此模块包括职工姓名、职工编号等。
模块功能:
通过运行此模块,匹配输入正确的职工编号,则可以查询员工的具体信息。
2.管理员登录模块
模块内容:
此模块包括管理员登录帐号、密码的输入。
模块功能:
通过此模块,匹配的输入正确的管理员登录帐号和密码,则允许进入管理员操作页面。
3.查询模块
模块内容:
此模块可以查看职工的详细信息和工资信息。
模块功能:
通过此模块,职工与管理员都可以完成相应的查询工作。
4.更新模块
模块内容:
此模块可以实现修改信息的功能。
模块功能:
此模块是对管理员应用的,管理员可以修改职工的个人信息等等。
3.详细设计
使用该系统,您可以选择使用按钮进行操作,进入其他的功能使用。
公共模块代码:
PublicmyconnAsSqlClient.SqlConnection=NewSqlClient.SqlConnection("DataSource=RENWEIFENG;InitialCatalog=公司管理;IntegratedSecurity=True")
PublicmycmdAsNewSqlClient.SqlCommand
1主页面:
2点击“工登录录”可以选择职工详细信息。
下图是职工登录后的页面。
完成查询功能的主要代码:
mycmd.Connection=myconn
mycmd.CommandText="select*from职工表where编号='"&TextBox1.Text&"'"
DimmyadapterAsNewSqlClient.SqlDataAdapter(mycmd)
DimmydatasetAsNewDataSet
myadapter.Fill(mydataset,"职工表")
Me.DataGrid1.DataSource=mydataset.Tables("职工表")
2.点击主页面中“管理员登录”——管理员相关选项,可进行管理员登录。
验证时的主要代码:
DimconnAsNewSqlClient.SqlConnection("DataSource=RENWEIFENG;InitialCatalog=公司管理;IntegratedSecurity=True")
DimsqlstrAsString="Select*from管理员表"
DimcomAsSqlClient.SqlCommand=NewSqlClient.SqlCommand(sqlstr,conn)
DimflagAsBoolean
conn.Open()
DimrAsSqlClient.SqlDataReader=com.ExecuteReader
Whiler.Read
Ifr.Item(0)=Trim(TextBox1.Text)Andr.Item
(1)=Trim(TextBox2.Text)Then
flag=True
EndIf
EndWhile
conn.Close()
IfNotflagThen
MessageBox.Show("登录失败,帐号或密码错误!
")
Else
Dimf110AsNewForm6
f110.Show()
EndIf
3.管理员登陆成功后,可进入到功能选项页面。
管理员可以选择对职工基本信息进行管理、对职工工资清单进行管理和奖惩管理。
4.管理员登录后,出现三个选项卡——职工管理,工资管理,奖罚管理。
职工插入时的主要代码:
mycmd.Connection=myconn
DimsqlAsString="insertinto职称表values('"&TextBox1.Text&"','"&TextBox15.Text&"','"&TextBox9.Text&"','"&TextBox16.Text&"','"&ComboBox1.Text&"',"&Val(TextBox10.Text)&",'"&TextBox11.Text&"')"
myconn.Open()
mycmd.CommandType=CommandType.Text
mycmd.CommandText=sql
mycmd.ExecuteNonQuery()
MessageBox.Show("插入成功!
")
myconn.Close()
5.工资管理界面:
通过本页面可以显示不同职称名的不同工资信息,对每个职称名对应信息的查询,插入,更新,等操作。
工资更新时的主要代码:
mycmd.Connection=myconn
DimsqlAsString="update职称表set工资级别='"&TextBox3.Text&"',"&"基本工资="&Trim(TextBox4.Text)&","&"职务补助="&_
Trim(TextBox5.Text)&","&"房补="&Trim(TextBox6.Text)&"where职称名='"&TextBox2.Text&"'"
myconn.Open()
mycmd.CommandType=CommandType.Text
mycmd.CommandText=sql
mycmd.ExecuteNonQuery()
MessageBox.Show("更新成功!
")
myconn.Close()
6.工龄管理界面:
通过本页面可以显示不同工龄年数的不同工龄津贴,对工龄对应津贴的查询,插入,更新,等操作。
7.进入对职工进行奖惩操作页面:
通过本页面可以显示受到奖罚的员工,对奖罚员工的插入,删除和查看。
首先进行绑定
插入时代码:
mybind.AddNew()
删除时代码:
mybind.RemoveAt(mybind.Position)
确认时代码:
mybind.EndCurrentEdit()
Me.SqlDataAdapter1.Update(Me.mydataset.Tables("奖惩"))
取消时代码:
mybind.CancelCurrentEdit()
左移时代码:
mybind.Position-=1
右移时代码:
mybind.Position+=1
移到最左端时代码:
mybind.Position=0
移到最右端时代码:
mybind.Position=mybind.Count–1
刷新时的主要代码:
DimDataSet1AsNew公司管理DataSet
Dimmysql="select*from奖惩"
DimSqlDataAdapter1AsNewSqlClient.SqlDataAdapter(mysql,myconn)
SqlDataAdapter1.Fill(DataSet1,"奖惩")
DataGrid1.SetDataBinding(DataSet1,"奖惩")
4.测试
完成该项目设计后,通过测试,所有的功能均能实现;包含向数据库中的表插入、删除、修改信息及查询信息;能够及时刷新数据源等;但也存在以下问题:
问题一:
在数据库连接SqlConnection1.Close()或SqlConnection1.open()出错
原因:
解决方法:
每次打开或关闭连接时,先判断连接的状态
IfSqlConnection1.State=ConnectionState.ClosedThen
SqlConnection1.Open()
EndIf
IfSqlConnection1.State=ConnectionState.OpenThen
SqlConnection1.Close()
EndIf
问题二:
类似执行SqlDataReader.Read()操作后,接着执行另一个SqlDataReader1.Read()或SqlDataReader1=SqlCommand1.ExecuteReader()时出错
原因:
解决方法:
每次执行完SqlDataReader1.Read()操作后,如不需要就立即执行SqlDataReader.Close()操作
5.结论
在初期,我们一起讨论并使用SQLsever建立了基本数据库,对前端的控制设计进行了功能分类;使用VB.net进行数据库连接。
经过这次数据库课程设计,我觉得遇到的困难很多,做课程设计时明显感觉平时学到的东西不够。
例如,在画E-R图的时候,我想了是用属性表示某个对象恰当,还是用实体集表示更为恰当;还分析了是否使用一般化。
总结该系统的功能使我对整个数据库系统有了全面的了解,使各部分能够联系起来,不在是单独的几块内容。
此次课程设计不仅考验了我的数据库系统的概念和数据库的设计,而且更加检验了我使用VB的熟练程度。
比如说属性的修改等等。
通过此次课程设计,我的一些知识运用的熟练程度得到了提高,进一步了解了数据库的结构特点和设计过程。
最后,还要感谢在此过程中帮助过我的同学!
参考文献
1郑阿奇,彭作民.VB.NET程序设计教程.北京:
机械工业出版社,2006
2胡海璐.VB.NET控件应用实例.北京:
电子工业出版社,2003
3李伟红,赵玉娟.SQLServer2000数据库及应用.北京:
中国水利水电出版社,2007
4王珊,萨师煊.数据库系统概论(第四版).北京:
高等教育出版社,2006
信息科学与工程学院课程设计成绩评价表
课程名称:
数据库应用课程设计
设计题目:
公司管理
专业:
计算机科学与技术班级:
计科0706姓名:
任威风学号:
20074140616
序号
评审项目
分数
满分标准说明
1
内容
思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。
任务饱满,做了大量的工作。
2
创新
内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解
3
完整性、实用性
整体构思合理,理论依据充分,设计完整,实用性强
4
数据准确、可靠
数据准确,公式推导正确
5
规范性
设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定
6
纪律性
能很好的遵守各项纪律,设计过程认真;
7
答辩
准备工作充分,回答问题有理论依据,基本概念清楚。
主要问题回答简明准确。
在规定的时间内作完报告。
总分
综
合
意
见
指导教师苏小玲2010年1月16日