

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉工业学院数据库应用系统设计实验报告 学号: 090501102 姓名: 毕 波 班级: 计算机091 指导教师: 人事工资管理系统设计总说明:在当今社会,工资管理是一项必要而且很关键的工作。现在随着企业数量的急剧增加,处理人们的工资数据变的越来越烦琐艰巨。如今,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在。本系统依据开发要求主要应用于企业人事系统,完成对日常的工资增删查改的数字化管理。比较系统地对员工的信息和工资进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。本课程设计是在学习了数据库应用系统和相关开发软件课程之后,让学生通过实际项目
2、的设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发系统的能力。本系统的基本功能包括:部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)。本系统主要用于对员工工资进行管理,能够进行插入、删除、修改、查询和显示员工的信息。登录该系统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入员工的信息和工资,并对员工的信息和工资进行增、删、改操作。基于上述想法,我们将员工数据保存到数据库中。我们要求系统能够高效快速的处理数据,并且要保证数据的正
3、确性、相容性和安全性。所以在数据库中需要定义很多触发器,比如删除了某个员工的信息则删除对应的所有工资信息、活着删除了某部门则删除该部门所有的信息等。所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。 一 系统需求:根据题目需求,可以把系统分为三个部分:部门信息管理部分、职员信息管理部分和工资信息管理部分。本次实验中,我主要负责部门信息管理模块,题中需要对部门信息进行查询、添加、修改、删除操作,这些操作按是否改变数据库数据可分为两类:查询操作,只读取数据库信息
4、,不对信息做修改;删除、更新和添加操作,需要对数据库中的数据进行读写操作。因此只要写两部分代码,查询部分:deptinfo_Query进行部门信息查询,查询数据库信息;信息管理部分:deptinfo_Manage,对信息进行更新、增加和删除。二 数据库设计1.数据需求人事工资管理系统需要完成的主要功能有:1员工的基本信息录入2.工资信息表的录入。3.部门信息表的查询、插入、修改、删除等操作。2.相关表表1 职工表:Employee_Info表2 工资表:Salary表3 部门表:Dept_Info表4 系统用户表:User_Info3.数据流程图人事工资管理系统登录 系统管理员职工表部门表工资
5、表图 数据流程图三 员工工资相关操作 1.查询部分 相关代码: dateGrid1数据绑定 private void BindData(String sql) SqlConnection connection = new SqlConnection(connString); SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); dataGridView1.DataSource = dataSet.T
6、ables0; dataGridView1.Columns0.DataPropertyName = "职¡ã工¡è号?" dataGridView1.Columns1.DataPropertyName = "年份" dataGridView1.Columns2.DataPropertyName = "月份" dataGridView1.Columns3.DataPropertyName = "工资º" 部门组合框的数据绑定 private void BindDept
7、ComBox() string sql = "SELECT * FROM Dept_Info" SqlConnection connection = new SqlConnection(connString); SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); DeptcomBox.DataSource = dataSet.Tables0; DeptcomBox.Displa
8、yMember = "DeptName" DeptcomBox.ValueMember = "DeptID" DeptcomBox.SelectedIndex = 0; 按部门查询 private void check1_CheckedChanged(object sender, EventArgs e) if (check1.Checked) btnYes.Enabled = true; DeptcomBox.Enabled = true; check4.Checked = false; check4.Enabled = false; else Dep
9、tcomBox.Enabled = false; check4.Enabled = true; 按年份查询 private void check2_CheckedChanged(object sender, EventArgs e) btnYes.Enabled = true; if (check2.Checked) YearComBox.Enabled = true; else YearComBox.Enabled = false; YearComBox.SelectedIndex = 0; 按月份Y查询 private void check3_CheckedChanged(object s
10、ender, EventArgs e) if (check3.Checked) btnYes.Enabled = true; MonthComBox.Enabled = true; else MonthComBox.Enabled = false; 仅查询自己的工资 private void check4_CheckedChanged(object sender, EventArgs e) if (check4.Checked) btnYes.Enabled = true; check1.Enabled = false; DeptcomBox.Enabled = false; else che
11、ck1.Enabled = true; check1.Checked = false; private void btnYes_Click(object sender, EventArgs e) count = 0; String YearStr; int MonthStr; String DeptStr; String sqlStr = "" sql = "" DeptStr = Convert.ToString(DeptcomBox.SelectedValue.ToString(); 部门号 if (check1.Checked) DeptStr =
12、 Convert.ToString(DeptcomBox.SelectedValue.ToString(); sqlStr = String.Format("select Salary.EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资º' from Salary,Employee_Info where DeptID='0'and Salary.EmpID=Employee_Info.EmpID", DeptStr);
13、if (count = 0) sql += sqlStr; count = 1; else sql += " intersect " + sqlStr; check1.Checked = false; 年份 if (check2.Checked) YearStr = Convert.ToString(YearComBox.SelectedItem.ToString(); if(this.mainForm.operatorRight=2) sqlStr = String.Format("select EmpID as '职工号', Year as &
14、#39;年份', Month as '月份', Salary as '工资' from Salary where Year='0'", YearStr); else if(this.mainForm.operatorRight=1) sqlStr = String.Format("select Salary.EmpID as '职工号', Year as '年份', Month as '月', Salary as '工资' from Salary,Empl
15、oyee_Info,Dept_Info where Year='0'and Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='1')", YearStr,this.mainForm.person.userName); else sqlStr = String.Format("select EmpID as
16、 '职工号', Year as '年份', Month as '月份', Salary as '工资Á' from Salary where Year='0'and EmpID='1'", YearStr,this.mainForm.person.userName); if (count = 0) sql += sqlStr; count = 1; else sql += " intersect " + sqlStr; check2.Checked = fal
17、se; 月份 if (check3.Checked) MonthStr = Convert.ToInt32(MonthComBox.SelectedItem.ToString(); if (this.mainForm.operatorRight = 2) sqlStr = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary where Month='0'", M
18、onthStr); else if (this.mainForm.operatorRight = 1) sqlStr = String.Format("select Salary.EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Month='0'and Salary.EmpID=Employee_Info.EmpID and Employee_Info
19、.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='1')", MonthStr, this.mainForm.person.userName); else sqlStr = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工' from Salary
20、 where Month='0' and EmpID='1'", MonthStr,this.mainForm.person.userName); if (count = 0) sql += sqlStr; count = 1; else sql += " intersect " + sqlStr; check3.Checked = false; 自己工资 if (check4.Checked) sql = String.Format("select EmpID as '职工号', Year as '
21、;年份', Month as '月份', Salary as '工资' from Salary where EmpID='0'", this.mainForm.person.userName); if (count = 0) sql += sqlStr; count = 1; else sql += " intersect " + sqlStr; check4.Checked = false; SqlCommand command = new SqlCommand(sql, connection); try
22、connection.Open(); SqlDataReader data = command.ExecuteReader(); if (data.Read() BindData(sql); else if(this.mainForm.operatorRight=2) sql = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary"); else if (this.mainFo
23、rm.operatorRight = 1) sql = String.Format("select Salary.EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (sele
24、ct DeptID from Employee_Info where EmpID='0')", this.mainForm.person.userName); else sql = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary where EmpID='0'", this.mainForm.person.userName); Bi
25、ndData(sql); MessageBox.Show("查询失败,没有符合要求的工资信息", "查找失败ã", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBox.Show(ex.Message, "数据库操作失败¹", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finally connection.Close(); private voi
26、d LoadOrCancel() mainForm = (MainForm)this.ParentForm; YearComBox.SelectedIndex = 0; MonthComBox.SelectedIndex = 0; YearComBox.Enabled = false; MonthComBox.Enabled = false; DeptcomBox.Enabled = false; btnYes.Enabled = false; BindDeptComBox(); if (this.mainForm.operatorRight = 2) sql = String.Format(
27、"select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary"); else if (this.mainForm.operatorRight = 1) DeptcomBox.Visible = false; check1.Visible = false; sql = String.Format("select Salary.EmpID as '职工号', Year as '年份
28、39;, Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='0')", this.mainForm.person.userName); else check
29、1.Visible = false; check4.Visible = false; DeptcomBox.Visible = false; sql = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as '工资' from Salary where EmpID='0'", this.mainForm.person.userName); BindData(sql); count = 0; pri
30、vate void groupBox2_Enter(object sender, EventArgs e) 2.对表的增删改部分: ataGrid数据绑定 private void BindData() sql = String.Format("select EmpID as '职工号', Year as '年份', Month as '月份', Salary as ' 工资' from Salary"); SqlConnection connection = new SqlConnection(connStr
31、ing); SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); dataGridView1.DataSource = dataSet.Tables0; dataGridView1.Columns0.DataPropertyName = "职工号" dataGridView1.Columns1.DataPropertyName = "年份" dataGridV
32、iew1.Columns2.DataPropertyName = "月份" dataGridView1.Columns3.DataPropertyName = "工资" 删除 private void btn3_Click(object sender, EventArgs e) cleartext(); textreadwrite(); btnOkOrCancel(); combMonth.Enabled = true; combYear.Enabled = true; txt4.ReadOnly = true; opterate = "del
33、ete" 修改或更新职工工资信息 private void btnOk_Click(object sender, EventArgs e) btnOkOrCancel(); btnOk.Enabled = false; EmpID = txt1.Text; Year = Convert.ToString(combYear.SelectedItem.ToString(); Month = Convert.ToInt32(combMonth.SelectedItem.ToString(); String salary = txt4.Text; if (salary = "&qu
34、ot;) salary = "0" Salary = (float)Convert.ToDouble(salary.Trim(); int num = 0; try if (EmpID != "") sql = String.Format("select count (*) from Employee_Info where EmpID='0'", EmpID); SqlCommand command = new SqlCommand(sql, connection); connection.Open(); int c
35、= (int)command.ExecuteScalar(); connection.Close(); if (c > 0) connection = new SqlConnection(connString); connection.Open(); sql = String.Format("select count (*) from Salary where EmpID='0'and Year='1' and Month='2'", EmpID, Year, Month); SqlCommand mycmd = new
36、 SqlCommand(sql, connection); num = (int)mycmd.ExecuteScalar(); connection.Close(); 职工的工资信息存在 if (num > 0) if (opterate = "insert") MessageBox.Show("录入不成功,您要录入的员工的工资信息已存在!", "录入失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textreadonly(); else if (opterate
37、= "update") sql = String.Format("update Salary set Salary='0'where EmpID='1' and Year='2' and Month='3'", Salary, EmpID, Year, Month); connection.Open(); command = new SqlCommand(sql, connection); command.ExecuteNonQuery(); connection.Close(); Bind
38、Data(); textreadonly(); MessageBox.Show("更新成功! ", "更新成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); else connection.Open(); sql = String.Format("delete from Salary where EmpID='0'and Year='1' and Month='2'", EmpID, Year, Month); command
39、= new SqlCommand(sql, connection); command.ExecuteNonQuery(); connection.Close(); BindData(); MessageBox.Show("删除成功! ", "删除成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textreadonly(); else if (opterate = "insert") sql = String.Format("insert into Salary(
40、EmpID,Year,Month,Salary)values ('0','1','2','3')", EmpID, Year, Month, Salary); command = new SqlCommand(sql, connection); connection.Open(); command.ExecuteNonQuery(); connection.Close(); BindData(); MessageBox.Show("录入成功! ", "录入成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textreadonly(); else if (opterate = "update") MessageBox.Show("修改失败,不存在要修改的工资信息! ", "修T改失败", MessageBoxButtons.OK, MessageBoxIcon.E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防口腔疾病健康宣教
- 餐饮供应链智能化管理与采购方案
- 一年级数学(上)计算题专项练习汇编
- 四年级数学(三位数乘两位数)计算题专项练习及答案
- 学前教育学 课件 项目7 幼儿园保教活动
- 江苏省泰州市姜堰区城西实验学校2024-2025学年七年级下学期3月月考数学试题(原卷版+解析版)
- 活动执行个人工作总结
- 绿色农业种植模式创新与优化策略
- 2025照明设备购销合同模板
- 上海高中化学知识点梳理
- 电磁学第四版课后答案解析梁灿彬
- 农产品直供新模式
- 2025内蒙古西部新能源开发有限公司招聘工作人员20人笔试参考题库附带答案详解
- 2025年常州机电职业技术学院单招职业技能考试题库完整版
- 湖北省十一校2025届高三上学期第一次联考(一模)数学试题【含答案解析】
- 《动画速写(第3版)》中职全套教学课件
- 2025届新高考语文热点冲刺复习:新高考作文教学及备考策略
- 2025年安徽六安市“政录企用”人才引进工作招录300人高频重点提升(共500题)附带答案详解
- 2024年高速数据传输线项目可行性研究报告
- 慢性肾衰竭的护理病例讨论
- 铁路基础知识题库单选题100道及答案解析
评论
0/150
提交评论