数据库课程设计---工资管理系统.doc

上传人:仙人指路 文档编号:8751257 上传时间:2021-01-08 格式:DOC 页数:20 大小:347.50KB
返回 下载 相关 举报
数据库课程设计---工资管理系统.doc_第1页
第1页 / 共20页
数据库课程设计---工资管理系统.doc_第2页
第2页 / 共20页
数据库课程设计---工资管理系统.doc_第3页
第3页 / 共20页
数据库课程设计---工资管理系统.doc_第4页
第4页 / 共20页
数据库课程设计---工资管理系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数据库课程设计---工资管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计---工资管理系统.doc(20页珍藏版)》请在三一文库上搜索。

1、目录一、项目名称:工资管理系统设计2二、实训目的:2三、应掌握的知识点2四、应训练的能力点2五、数据库设计内容3 (一)需求分析.3 (二)数据库概念设计.3 (三)数据库逻辑设计5 (四)数据库与数据表设计 物理结构设计5 1.数据库与数据表设计.5 2.数据完整性设计.6六、数据库操作实施与结果数据库对象的设计7 (一)建数据库工资管理库.7 (二)建表员工信息表、部门信息表、工资信息表.7 (三)视图.9(四)存储过程.9(五)触发器 10(六)索引11(七)运行和维护12 1. 关系图的建立.12 2. 简单查询.123. 复杂查询.154.数据库的用户与权限管理175.数据库的备份.

2、206.数据的导入与导出.21七、总结22八、评语.23一、项目名称:工资管理系统设计二、实训目的:l 了解VS系统的理论l 掌握数据库设计的基本方法,熟悉数VS相关窗体的设计步骤;l 通过设计数据库系统应用课题,进一步熟悉并掌握使用VS设计系统的操作技术,提高动手能力,提高分析问题和解决问题的能力l 学习基本VS编程方法l 快速跟踪VS系统软件的新技术及市场应用动态。三、应掌握的知识点l VS基本原理l 项目式编程的设计方法、设计思路l 初步掌握一种编程语言四、应训练的能力点l VS2005的操作与使用l C#界面设计与编程思路l 数据库的建立与管理、VS界面的建立与操作l 命名空间的使用与

3、编程l 设计和开发一个工资管理系统五、工资管理系统设计内容(一)需求分析本系统要求实现以下主要功能:1.系统主要功能 主要任务是对各种员工信息进行日常的管理,如:输入、查询、修改、增加、删除,迅速准确地完成各种操作,快速打印出报表。2.软件功能系统需要提供以下查询功能:1) 员工基本信息查询2) 员工基本信息录入3) 员工信息浏览4) 员工登录(2) 数据库图设计(三)VS界面设计 1.登录界面设计2.主窗体界面设计3员工信息维护界面设计4.员工基本信息设置界面设计5.TREEVIEW控件和LISTVIEW控件的使用:查看员工基本信息相关界面6.关于系统界面设计(四)程序相关代码一登录代码:

4、private void 登录_Load(object sender, EventArgs e) toolStripStatusLabel3.Text = 欢迎使用工资管理系统; /窗体加载 显示欢迎问候语 try conn = new SqlConnection(Data Source=.;Initial Catalog=工资管理系统;Integrated Security=True); DataSet ds1 = new DataSet(); sda = new SqlDataAdapter(select 姓名 from 登录 , conn); if (conn.State = Conne

5、ctionState.Closed) /判断数据库连接状态 conn.Open(); sda.Fill(ds1, tablename); conn.Close(); comboBox1.DataSource = ds1.Tablestablename; comboBox1.DisplayMember = 姓名; comboBox1.ValueMember = 姓名; catch(Exception ex) /异常处理 MessageBox.Show(ex.Message.ToString(); 2 主窗体代码: private void mainworker_Load(object sende

6、r, EventArgs e) if (登录.userright.ToString().Trim() = 2) 员工管理ToolStripMenuItem.Enabled = false; 基础信息设置FToolStripMenuItem.Enabled = false; this.tslusername.Text = |操作用户: + 登录.username; this.tsluserright.Text = |操作权限: + 登录.userright; /在状态栏上显示操作用户名和使用权限,并设置部分菜单对普通用户不可用 private void 关于本系统ToolStripMenuIte

7、m_Click(object sender, EventArgs e) aboutfrm a = new aboutfrm(); /显示对话框 a.ShowDialog(); private void 计算器ToolStripMenuItem_Click(object sender, EventArgs e) /利用进程打开计算器 System.Diagnostics.Process.Start(calc.exe); private void 记事本ToolStripMenuItem_Click(object sender, EventArgs e) /利用进程打开记事本 System.Dia

8、gnostics.Process.Start(notepad.exe); private void 查看员工考勤ToolStripMenuItem_Click(object sender, EventArgs e) /打开窗体Strp2 Strp2 s = new Strp2(); s.Show(); private void 基础信息设置FToolStripMenuItem_Click(object sender, EventArgs e) /打开窗体Strp1 Strp1 s = new Strp1(); s.Show(); private void 员工管理ToolStripMenuIt

9、em_Click(object sender, EventArgs e) /打开窗体Strp3 Strp3 s = new Strp3(); s.Show(); 3 关于系统代码设计: private void button1_Click(object sender, EventArgs e) this.Close(); this.BackColor = Color.Yellow; private void aboutfrm_Load(object sender, EventArgs e) Bcolor = this.BackColor; private void 默认ToolStripMen

10、uItem_Click(object sender, EventArgs e) this.BackColor = Bcolor; private void 红ToolStripMenuItem_Click(object sender, EventArgs e) this.BackColor = Color.Red; 4 窗体STRP1相关代码 private void Strp1_Load(object sender, EventArgs e) /窗体加载时为个别控件添加数据源 conn = new SqlConnection(); conn.ConnectionString = Data S

11、ource=.;Initial Catalog=工资管理系统;Integrated Security=True; boBox1.Items.Clear(); sda = new SqlDataAdapter(select distinct 部门名称from 员工, conn); DataSet ds = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); sda.Fill(ds, tablename); conn.Close(); boBox1.DataSource = ds.Tables0; /绑定数据源

12、boBox1.DisplayMember = 部门名称; boBox1.ValueMember = 部门名称; sda2 = new SqlDataAdapter(select distinct 职称from 员工, conn); DataSet ds2 = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); sda2.Fill(ds2, table); conn.Close(); boBox2.DataSource = ds2.Tables0; /绑定数据源 boBox2.DisplayMember = 职

13、称; boBox2.ValueMember = 职称; comboBox3.Items.Add(男); comboBox3.Items.Add(女); dt = new DataTable(); DataColumn mykey = new DataColumn1; /创建仅含有一个元素的列数组 DataColumn cou1 = new DataColumn(); cou1.ColumnName = 工号; dt.Columns.Add(cou1); mykey0 = cou1; dt.PrimaryKey = mykey; /设置主键 dt.Columns.Add(姓名,typeof(st

14、ring); /添加不同的字段 dt.Columns.Add(性别, typeof(string); dt.Columns.Add(年龄, typeof(string); dt.Columns.Add(籍贯, typeof(string); dt.Columns.Add(身份证号, typeof(string); dt.Columns.Add(婚姻状况, typeof(string); dt.Columns.Add(学历, typeof(string); dt.Columns.Add(部门名称, typeof(string); dt.Columns.Add(工种, typeof(string)

15、; dt.Columns.Add(职称, typeof(string); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) /触发响应事件 sda = new SqlDataAdapter(select distinct 职称from 员工where 部门名称= + comboBox1.Text + , conn); DataSet ds = new DataSet(); if(conn.State=ConnectionState.Closed) conn.Open(); sda.Fill(ds,员工

16、表); conn.Close(); comboBox2.DataSource = ds.Tables0; comboBox2.DisplayMember = 职称; comboBox2.ValueMember = 职称; private void button3_Click(object sender, EventArgs e) if (textBox1.Text = )/主键不能为空 MessageBox.Show(工号不能为空!); if (comboBox1.Text =) MessageBox.Show(部门名称不能为空!); if (comboBox2.Text = ) Messag

17、eBox.Show(职称不能为空!); if (!Regex.IsMatch(textBox3.Text.Trim(), 0-9*$) /引用正则表达式 errorProvider1.SetError(textBox3, 年龄必须为数字!); return; if (!Regex.IsMatch(textBox4.Text.Trim(), 0-9*$) /使用正则表达式,确认输入的数据是否符合要求 errorProvider2.SetError(textBox4, 工资必须为数字组成!); return; errorProvider1.Clear(); errorProvider2.Clear

18、(); textBox1.Focus(); try DataRow dr = dt.NewRow(); dr工号=textBox1.Text.Trim(); /为相应的列赋值 dr姓名=textBox2.Text.Trim(); dr性别=comboBox3.Text.Trim(); dr年龄=textBox3.Text.Trim(); dr籍贯=textBox5.Text.Trim(); dr身份证号=textBox4.Text.Trim(); dr婚姻状况=textBox6.Text.Trim(); dr学历=textBox7.Text.Trim(); dr部门名称=comboBox1.T

19、ext.Trim(); dr工种=textBox8.Text.Trim(); dr职称=comboBox2.Text.Trim(); dt.Rows.Add(dr); cleartext(); catch (Exception ex) MessageBox.Show(ex.Message.ToString(); private void button4_Click(object sender, EventArgs e) cleartext(); /调用自定义方法 private void button1_Click(object sender, EventArgs e) string sql

20、= insert into 员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,职称) values (工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,职称); com = new SqlCommand(sql, conn); com.Parameters.Add(new SqlParameter(工号, SqlDbType.VarChar); /添加对应的参数 com.Parameters.Add(new SqlParameter(姓名, SqlDbType.VarChar); com.Parameters.Add(new SqlParame

21、ter(性别, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(年龄, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(籍贯, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(身份证号, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(婚姻状况, SqlDbType.VarChar); com.Parameters.Add(new SqlPa

22、rameter(学历, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(部门名称, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(工种, SqlDbType.VarChar); com.Parameters.Add(new SqlParameter(职称, SqlDbType.VarChar); for (int i = 0; i dt.Rows.Count; i+) com.Parameters工号.Value = dt.Rowsi0.ToString(); /为

23、参数赋值 com.Parameters姓名.Value = dt.Rowsi1.ToString(); com.Parameters性别.Value = dt.Rowsi2.ToString(); com.Parameters年龄.Value = dt.Rowsi3.ToString(); com.Parameters籍贯.Value = dt.Rowsi4.ToString(); com.Parameters身份证号.Value = dt.Rowsi5.ToString(); com.Parameters婚姻状况.Value = dt.Rowsi6.ToString(); com.Param

24、eters学历.Value = dt.Rowsi7.ToString(); com.Parameters部门名称.Value = dt.Rowsi8.ToString(); com.Parameters工种.Value = dt.Rowsi9.ToString(); com.Parameters职称.Value = dt.Rowsi10.ToString(); try if (conn.State = ConnectionState.Closed) /判断与数据库的链接是否中断如果中断则执行重新连接 conn.Open(); com.ExecuteNonQuery(); conn.Close(

25、); catch(Exception ex) MessageBox.Show(保存数据时出错! + ex.Message.ToString(); dt.Rows.Clear(); this.Close(); 5 五:STRP2相关代码设计: int aod; /全局变量 SqlConnection conn; /数据库连接对象 SqlCommand com; /SQL命令对象 SqlDataAdapter da; /数据库适配器 conn = new SqlConnection(); conn.ConnectionString = Data Source=.;Initial Catalog=工

26、资管理系统;Integrated Security=True; da = new SqlDataAdapter(select * from 考勤, conn); DataSet ds = new DataSet(); try if (conn.State = ConnectionState.Closed) /判断连接状态 conn.Open(); int count = da.Fill(ds, 员工表); conn.Close(); dataGridView1.DataSource = ds.Tables员工表; /伟控件绑定设计院,填充控件 toolStripStatusLabel1.Tex

27、t = 贵公司共有 + count.ToString() + 个员工加班或缺勤; catch (SystemException ex) MessageBox.Show(错误: + ex.Message, 错误!, MessageBoxButtons.OK, MessageBoxIcon.Information); private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) if (MessageBox.Show(确定要删除信息吗?, 删除提示:, MessageBoxButtons.OK, MessageBoxIcon.

28、Question) = DialogResult.OK) try /删除数据 com = new SqlCommand(delete from 考勤where 工号=+Convert.ToString(dataGridView10,dataGridView1.CurrentCell.RowIndex.Value)+,conn); if (conn.State = ConnectionState.Closed) conn.Open(); com.ExecuteNonQuery(); conn.Close(); MessageBox.Show(删除数据成功!); cleartext(); view

29、(); catch(Exception ex) MessageBox.Show(ex.Message.ToString(); private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(工号不能为空!); return; if (comboBox3.Text = ) MessageBox.Show(月份不能为空!); return; if (aod = 0) try da = new SqlDataAdapter(select * from 考勤where 工号= + textBox1.Text.Trim() + and 月份=+comboBox3.Text.Trim()+, conn); DataSet dsl = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); int count = da.Fill(dsl, 视图表); conn.Close(); if (count != 0) /起到一个判断作用 MessageBo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1