汽车厂工资管理系统

上传人:壹****1 文档编号:571317920 上传时间:2024-08-10 格式:PDF 页数:46 大小:3.34MB
返回 下载 相关 举报
汽车厂工资管理系统_第1页
第1页 / 共46页
汽车厂工资管理系统_第2页
第2页 / 共46页
汽车厂工资管理系统_第3页
第3页 / 共46页
汽车厂工资管理系统_第4页
第4页 / 共46页
汽车厂工资管理系统_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《汽车厂工资管理系统》由会员分享,可在线阅读,更多相关《汽车厂工资管理系统(46页珍藏版)》请在金锄头文库上搜索。

1、信息与计算机科学专业综合实训 任 务 书 学院名称: 理学院 课程代码:_ 106087719 _ 专 业: 信息与计算机科学专业 年 级: 2021 一、实训题目 汽车厂工资管理系统 二、主要内容 企业或者单位对其员工的工资进行详细的管理, 对员工工资的调整情况进行详细记录,应实现以下功能: (1).员工录入:将员工的资料以及其对应的工资信息录入数据库中。 (2).查询功能:实现按员工的编号、名字等指标进行工资情况的查询。 (3).修改功能:当某个或者某些员工工资调整时,能对其进行修改。 (4).删除功能:对调离的员工及其工资资料进行删除 三、具体要求及提交的材料 程序必须上机调试通过,并写

2、出设计的报告。 设计报告格式:1、设计目的 2、总体设计程序设计组成框图、流程图3、数据库设计 4、详细设计 5、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 6、核心局部的源程序清单和执行结果清单中应有足够的注释设计报告纸质文档和电子文档各一份,调试通过后的软件一套。(严禁抄袭和代做,一经发现,重修论处) 四、主要技术路线提示 系统地设计出数据库,建立表间联系; Web 技术的根本使用; 使用任意一计算机语言,任意一种数据库; 五、进度安排 1、 需求分析和概要设计, 数据库设计,1 周之内完成指导教师检查 ; 2、 系统详细设计分析,编程、调试和分析

3、程序,2 周之内完成(指导老师检查); 3、 程序辩论、说明书撰写,1 周左右完成(学生必须当面辩论通过)。 指导教师 签名日期 年 月 日 目 录 1 需求分析 . 1 . 1 1.2 功能需求分析 . 1 . 2 . 2 2 概要设计 . 6 2.1 设计思路 . 6 2.2 模块功能介绍 . 6 . 6 . 7 . 7 2.2.4 数据删除,修改功能 . 7 . 8 2.4 流程图 . 8 2.5 功能设计分工 . 9 3 详细设计 . 10 . 10 3.2 登录页面设计 . 12 . 14 管理员界面设计 . 20 4 调试分析 . 36 4.1 员工调试 . 36 . 37 学习的

4、心得与体会 . 40 致 谢 . 42 参考文献 . 43 附录 . 错误!未定义书签。 引 言 员工管理系统是一个企事业单位不可缺少的局部,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、 保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 1 需求分析 企业或者单位对其员工

5、的工资进行详细的管理, 对员工工资的调整情况进行详细记录,应实现以下功能: (1).员工录入:将员工的资料以及其对应的工资信息录入数据库中。 (2).查询功能:实现按员工的编号、名字等指标进行工资情况的查询。 (3).修改功能:当某个或者某些员工工资调整时,能对其进行修改。 (4).删除功能:对调离的员工及其工资资料进行删除。 本系统主要有四个界面:主界面,登陆界面,员工界面,管理员界面。在主界面可以直接进入查看员工的工资信息,假设是要使用管理员功能,就必须要通过登陆才行,登陆后,可以删除、修改和添加员工的信息。 1.2 功能需求分析 1.2.1.主界面模块 管理员登录,员工进入。 1.2.2

6、.登陆模块 账号,口令。 1.2.3.员工模块 查看员工的工资信息。 删除、修改、添加员工的工资信息和根本信息。 SQL Server 2021 R2,visual studio 2021 员工调试 查看员工信息: 管理员调试 管理员查看员工工资情况: 图1.2 查询员工工资情况 管理员查看员工根本信息情况: 图1.3 查看员工根本信息 管理员删除员工信息: 图1.4 删除员工 管理员修改员工工资信息: 图1.5 修改员工工资信息 管理员删除员工信息: 图1.6 删除员工信息 管理员添加员工: 图1.7 添加员工 2 概要设计 2.1 设计思路 本文针对汽车厂工资管理, 建立了对员工查看工资信

7、息和管理员管理员工信息的根本管理的解决方案,系统基于 B/S 模式,采用 visual studio 2021,SQL server 2021 R2 作为主要开发的工具,使用 c#.net 对 SQL Server 数据库的根本操作。本系统主要是由两个局部组成:员工局部,管理员局部。系统分别对员工,管理员不同的操作特点,做出需求分析,而且根据各个操作功能的实现,完成了三大局部的模块的划分,设计出数据库。 2.2 模块功能介绍 管理员登陆 操作描述:管理员进入到登录页面,用账号,通过口令来登录汽车厂工资管理系统。 涉及数据:账号,口令。 1员工信息输入 操作描述:进入毕业设计选题系统后,员工需进

8、行相应的数据录入。 涉及数据:编号,姓名,性别,出生年月,学历,毕业院校, ,备注,等等. 2管理员信息输入 操作描述:进入毕业设计选题系统后,管理员需进行相应的数据录入。 涉及数据:账号,口令等等. 1员工查询 操作描述:员工可以按照编号,姓名。 涉及数据:编号,姓名。 2管理员查询 操作描述:管理员可以按照编号,姓名。 涉及数据:编号,姓名。 2.2.4 数据删除,修改功能 管理员 操作描述:管理员可以删除员工,可以添加员工,也可修改员工的工资信息和资料信息。 涉及数据:编号,姓名,实际工资,根本工资,考勤扣除,加班补助,扣税等等. 1主界面模块 管理员登录,员工进入。 2)登陆模块 账号

9、,口令。 3员工模块 查找。 4管理员模块 员工表,资料表,删除,修改,添加。 2.4 流程图 员 工 管理员 工资情况 员工信息 删除员工 添加员工 修改员工 汽车厂工资管理系统 图 2.1 系统设计图 2.5 功能设计分工 a) 数据库名称及描述 1 员工表:其中包含一些员工信息的根本情况。 2 工资表:包含员工工资的根本情况。 3 admin 表:包含管理员的根本信息。 B)数据表 表 1. 员工表(描述:其中包含一些员工信息的根本情况) 字段名 数据类型 长度 是否允许空 默认值 备注主外键、字段说明、值域 编号 nchar 12 否 无 主键 姓名 nvarchar 5 否 无 性别

10、 nchar 1 是 男 出生年月 nchar 10 否 无 学历 nvarchar 5 否 无 毕业院校 nvarchar 10 否 无 职称 nvarchar 8 是 无 nchar 11 是 无 长度为 11 的数字 备根本信息nvarchar 200 是 无 注 表 2:资料表(描述:包含员工工资的根本情况) 字段名 数据类型 长度 是否允许空 默认值 备注主外键、字段说明、值域 编号 nchar 12 否 无 主键 姓名 nvarchar 5 否 无 年份 nchar 4 否 2021 月份 nchar 2 否 6 实际工资 nchar 5 否 无 根本工资 nchar 5 否 无

11、加班补助 nchar 5 是 无 考勤扣除 nchar 5 是 无 扣税 nchar 5 是 无 工资信息备注 nvarchar 200 否 否 表 3.admin 表(描述:包含管理员的根本情况) 字段名 数据类型 长度 是否允许空 默认值 备注主外键、字段说明、值域 账号 nvarchar 10 否 无 主键 口令 nchar 10 否 无 3 详细设计 主界面设计 系统设置主界面为起始页面,其中包括三个 div,第一个 div 是设置屏幕大小和位置,第二个 div 是插入背景图和标题,第三个 div 包含两个按钮 button1和 button2。用户点击管理员登录,就会进入登录页面,如

12、点击员工进入,就会直接进入员工页面。 图 3.1 主界面 主要代码: protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(web.aspx); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(yuangong.aspx); 3.2 登录页面设计 图 3.2 登录界面 进入登录页面,其中有四个

13、div,第一个 div 是设置屏幕大小和位置,第二个 div 是插入背景图和标题,第四个 div 包含两个 TextBox1 和 TextBox2,两个按钮 button1 和 button2 。用户登陆时,在文本框中 t1 中输入账号,在 t2 中输入口令,点击登录,假设数据库中存在,那么进入下一个页面。如果输入出错会有信息提示。当用户输错时,可以重置,就会清空文本框中的信息。 图3.3 出错界面 主要代码: protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sen

14、der, EventArgs e) string zh = TextBox1.Text.Trim(); string kl = TextBox2.Text.Trim(); string sql = select * from admin 表 where 账号= + zh + ; SqlDataReader myrd = new Class1().datareader(sql); /下面根据 myrd 中的查询数据来判断登陆情况 if (myrd.Read() /取得一行,表示用户名存在的 if (myrd1.ToString().Trim() = kl) /表示登陆成功 /先取出成功登陆用户的

15、权限,以备下级程序中使用 Session账号 = myrd0.ToString().Trim(); Session口令 = myrd1.ToString().Trim(); Response.Redirect(bbs.aspx); else /用户名存在,但密码错误 TextBox2.Text = 口令错误; else /表示上面的 myrd 读出的空值无数据 TextBox1.Text = 账号不存在; 员工页面设计 由主界面进入员工界面, 其中有两个按钮和两个文本框, 在文本框中输入想要查找的员工编号或姓名,点击第一个按钮,便可查找出来。 图 3.4 员工界面 主要代码: protecte

16、d void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,年份,月份,实际工资,根本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().getds(sql);/把数据从 sql 读入 mytb中 Repeater1.DataSource = mytb;/把 mytb 行书的数据赋给 repearter Repeater1.DataBind(); tt(sql);/调用 tt 函数 protected void tt(string sql) /使用本模块

17、说明: /(1)在前面html代码中定义一个repeater,其中id=repeater1; 再定义一个 div,其 id=div11 /(2)调用本 tt 方法时传进来一个 sql 命令字符串即可,其它不需要修改什么了 string sql2 = select 编号,姓名,年份,月份,实际工资,根本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().getds(sql2); /自动生成页码控制控件,这样方便以后广泛应用(只需要在前台 html代码建立一个 div(id=div11)就可以了,把这些控件加去 Label Label1y

18、y = new Label(); Label Label2yy = new Label(); HyperLink firtp = new HyperLink(); firtp.Text = 首页; HyperLink prep = new HyperLink(); prep.Text = 上一页; HyperLink nextp = new HyperLink(); nextp.Text = 下一页; HyperLink lastp = new HyperLink(); lastp.Text = 尾页; TextBox TextBox1yy = new TextBox(); TextBox1y

19、y.ID = TextBox1yy; /要想在一下步继续编程使用这个控件,要用 findcontrol 方法查找本控件,必须指定 ID TextBox1yy.Width = 30; TextBox1yy.Attributes.Add(runat, server);/这个可要可不要,默认应该是 runat=server的 Button Button1yy = new Button(); Button1yy.Click += new System.EventHandler(Button1yy_Click);/要想控件响应事件编程,必须要这句,否那么以后它无法响应事件 Button1yy.Text

20、= GO; /每个项之间加个分隔符号| Label pp = new Label7; for (int i = 0; i 7; i+) Label pt = new Label(); pt.Text = | ; ppi = pt; div12.Controls.Add(Label1yy); div12.Controls.Add(pp0); div12.Controls.Add(Label2yy); div12.Controls.Add(pp1); div12.Controls.Add(firtp); div12.Controls.Add(pp2); div12.Controls.Add(pre

21、p); div12.Controls.Add(pp3); div12.Controls.Add(nextp); div12.Controls.Add(pp4); div12.Controls.Add(lastp); div12.Controls.Add(pp5); div12.Controls.Add(TextBox1yy); div12.Controls.Add(Button1yy); /生成结束.以上生成的控件也要以放在 panel 中,一样的效果 PagedDataSource pds = new PagedDataSource(); pds.DataSource = mytb.Defa

22、ultView; / 把 mytab 转换为要直接显示的数据视图 pds.AllowPaging = true; pds.PageSize = 3; int totalp = (mytb.Rows.Count + pds.PageSize - 1) / pds.PageSize; Label1yy.Text = 总页数为: + Convert.ToString(totalp); int curpage; /表示当前页 if (Request.QueryStringPage != null) curpage = Convert.ToInt32(Request.QueryStringPage);

23、else curpage = 1; pds.CurrentPageIndex = curpage - 1; Label2yy.Text = 当前页: + curpage.ToString(); if (!pds.IsFirstPage) prep.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(curpage - 1); if (!pds.IsLastPage) nextp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Co

24、nvert.ToString(curpage + 1); Repeater1.DataSource = pds; Repeater1.DataBind(); /把视图赋值给 repeater1,重新绑定数据 if (curpage != 1) firtp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page=1; if (curpage != totalp) lastp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(totalp); T

25、extBox1yy.Text = curpage.ToString();/让它显示当前页,直观些 protected void Button1yy_Click(object sender, EventArgs e) /注意,动态生成的控件,在运行之前是不存在的,所以无法直接使用TextBox1,而且是 /让计算机自己去找这个控件(这在前面讲过,把控件名字串,转换为控件名) TextBox ppp = (TextBox)this.div12.FindControl(TextBox1yy); string p = ppp.Text.Trim(); Response.Redirect(Request

26、.CurrentExecutionFilePath + ?Page= + p); protected void Button1_Click(object sender, EventArgs e) string bh = TextBox1.Text.Trim(); string xm = TextBox2.Text.Trim(); string sql = select 编号,姓名,年份,月份,实际工资,根本工资,加班补助,考勤扣除,扣税 from 工资表 where 编号 = + bh + or 姓名 = + xm + ; DataTable mytb = new Class1().getds

27、(sql); Repeater1.DataSource = mytb; Repeater1.DataBind(); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(zhujiemian.aspx); 管理员界面设计 通过登录页面进入管理员界面,其中有三个 label 和一个 iframe1。点击label,所有内容都显示在 iframe1 里。通过登陆界面传过来的 session,管理员可以查看员工工资信息和资料信息,也可以修改员工信息,删除和添加员工。 图 3.5 管理员主界面 删除用户代码

28、: protected void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,年份,月份,实际工资,根本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().getds(sql);/把数据从 sql 读入 mytb中 Repeater1.DataSource = mytb;/把 mytb 行书的数据赋给 repearter Repeater1.DataBind(); tt(sql);/调用 tt 函数 protected void LinkButtonD

29、el_Click(object sender, EventArgs e) string deleteth = (LinkButton)sender).CommandArgument.ToString();/取出要删除的编号 Session编号 = deleteth; Response.Write(confirm(是否确定删除); string sql = delete from 工资表 where 编号 = + deleteth + ;/从工资表删除选中的工人 string sql1 = delete from 员工表 where 编号 = + deleteth + ;/删除该工人的根本信息

30、new Class1().noquery(sql1); new Class1().noquery(sql); 图 管理员修改员工工资界面 修改员工工资代码: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string th = Session编号.ToString(); string sql = select * from 工资表 where 编号 = + th + ; DataTable tb = new Class1().getds(sql); TextBox1.Text = tb.Rows0编号

31、.ToString(); TextBox2.Text = tb.Rows0姓名.ToString(); TextBox3.Text = tb.Rows0实际工资.ToString(); TextBox4.Text = tb.Rows0根本工资.ToString(); TextBox5.Text = tb.Rows0加班补助.ToString(); TextBox6.Text = tb.Rows0考勤扣除.ToString(); TextBox7.Text = tb.Rows0扣税.ToString(); TextBox8.Text = tb.Rows0工资信息备注.ToString(); pr

32、otected void Button1_Click(object sender, EventArgs e) /string rq = TextBox3.Text.Trim(); string xl = TextBox4.Text.Trim(); string byyx = TextBox5.Text.Trim(); string zc = TextBox6.Text.Trim(); string dh = TextBox7.Text.Trim(); string bz = TextBox8.Text.Trim(); string sql1 = update 工资表 set 根本工资= + x

33、l + ,加班补助= + byyx + ,考勤扣除= + zc + ,扣税= + dh + ,工资信息备注= + bz + where 编号= + TextBox1.Text.Trim() + ;/更新员工信息 string sql2 = update 工资表 set 实际工资=根本工资+加班补助-考勤扣除-扣税; new Class1().noquery(sql1); new Class1().noquery(sql2); Response.Write(alert(修改成功!); protected void Button2_Click(object sender, EventArgs e)

34、 Response.Redirect(gongzi.aspx); 图 员工根本信息界面 主要代码: protected void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,性别,出生日期,毕业院校,职称, ,根本信息备注 from 员工表; DataTable mytb = new Class1().getds(sql);/把数据从 sql 读入 mytb中 /string yxrs = mytb.Rows0已选人数.ToString();/取出 0行的已选人数 Repeater1.DataSource =

35、mytb;/把 mytb 行书的数据赋给 repearter Repeater1.DataBind(); tt(sql);/调用 tt 函数 protected void tt(string sql) /使用本模块说明: /(1)在前面html代码中定义一个repeater,其中id=repeater1; 再定义一个 div,其 id=div11 /(2)调用本 tt 方法时传进来一个 sql 命令字符串即可,其它不需要修改什么了 string sql2 = select 编号,姓名,性别,出生日期,毕业院校,职称, ,根本信息备注 from 员工表; DataTable mytb = new

36、 Class1().getds(sql2); /自动生成页码控制控件,这样方便以后广泛应用(只需要在前台 html代码建立一个 div(id=div11)就可以了,把这些控件加去 Label Label1yy = new Label(); Label Label2yy = new Label(); HyperLink firtp = new HyperLink(); firtp.Text = 首页; HyperLink prep = new HyperLink(); prep.Text = 上一页; HyperLink nextp = new HyperLink(); nextp.Text =

37、 下一页; HyperLink lastp = new HyperLink(); lastp.Text = 尾页; TextBox TextBox1yy = new TextBox(); TextBox1yy.ID = TextBox1yy; /要想在一下步继续编程使用这个控件,要用 findcontrol 方法查找本控件,必须指定 ID TextBox1yy.Width = 30; TextBox1yy.Attributes.Add(runat, server);/这个可要可不要,默认应该是 runat=server的 Button Button1yy = new Button(); But

38、ton1yy.Click += new System.EventHandler(Button1yy_Click);/要想控件响应事件编程,必须要这句,否那么以后它无法响应事件 Button1yy.Text = GO; /每个项之间加个分隔符号| Label pp = new Label7; for (int i = 0; i 7; i+) Label pt = new Label(); pt.Text = | ; ppi = pt; div12.Controls.Add(Label1yy); div12.Controls.Add(pp0); div12.Controls.Add(Label2y

39、y); div12.Controls.Add(pp1); div12.Controls.Add(firtp); div12.Controls.Add(pp2); div12.Controls.Add(prep); div12.Controls.Add(pp3); div12.Controls.Add(nextp); div12.Controls.Add(pp4); div12.Controls.Add(lastp); div12.Controls.Add(pp5); div12.Controls.Add(TextBox1yy); div12.Controls.Add(Button1yy); /

40、生成结束.以上生成的控件也要以放在 panel 中,一样的效果 PagedDataSource pds = new PagedDataSource(); pds.DataSource = mytb.DefaultView; / 把 mytab 转换为要直接显示的数据视图 pds.AllowPaging = true; pds.PageSize = 3; int totalp = (mytb.Rows.Count + pds.PageSize - 1) / pds.PageSize; Label1yy.Text = 总页数为: + Convert.ToString(totalp); int cu

41、rpage; /表示当前页 if (Request.QueryStringPage != null) curpage = Convert.ToInt32(Request.QueryStringPage); else curpage = 1; pds.CurrentPageIndex = curpage - 1; Label2yy.Text = 当前页: + curpage.ToString(); if (!pds.IsFirstPage) prep.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToStrin

42、g(curpage - 1); if (!pds.IsLastPage) nextp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(curpage + 1); Repeater1.DataSource = pds; Repeater1.DataBind(); /把视图赋值给 repeater1,重新绑定数据 if (curpage != 1) firtp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page=1; if (curpage

43、 != totalp) lastp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(totalp); TextBox1yy.Text = curpage.ToString();/让它显示当前页,直观些 protected void Button1yy_Click(object sender, EventArgs e) /注意,动态生成的控件,在运行之前是不存在的,所以无法直接使用TextBox1,而且是 /让计算机自己去找这个控件(这在前面讲过,把控件名字串,转换为控件名) TextBox p

44、pp = (TextBox)this.div12.FindControl(TextBox1yy); string p = ppp.Text.Trim(); Response.Redirect(Request.CurrentExecutionFilePath + ?Page= + p); protected void LinkButtonDel_Click(object sender, EventArgs e) string deleteth = (LinkButton)sender).CommandArgument.ToString();/取出要删除的编号 Session编号 = delete

45、th; Response.Write(confirm(是否确定删除); string sql = delete from 工资表 where 编号 = + deleteth + ;/从工资表删除选中的工人 string sql1 = delete from 员工表 where 编号 = + deleteth + ;/删除该工人的根本信息 new Class1().noquery(sql1); new Class1().noquery(sql); protected void LinkButtonEdit_Click(object sender, EventArgs e) string dele

46、teId = (LinkButton)sender).CommandArgument.ToString().ToString(); Session编号 = deleteId.ToString().Trim(); Response.Redirect(xiugai.aspx); protected void LinkButtonAdd_Click(object sender, EventArgs e) string deleteId = (LinkButton)sender).CommandArgument.ToString().ToString(); Session编号 = deleteId.T

47、oString().Trim(); Response.Redirect(add.aspx); protected void Button1_Click(object sender, EventArgs e) string bh = TextBox1.Text.Trim(); string xm = TextBox2.Text.Trim(); string sql = select 编号,姓名,性别,出生日期,毕业院校,职称, ,根本信息备注 from 员工表 where 编号 = + bh + or 姓名 = + xm + ; DataTable mytb = new Class1().get

48、ds(sql); Repeater1.DataSource = mytb; Repeater1.DataBind(); 图 管理员修改员工根本信息界面 主要代码: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string th = Session编号.ToString(); string sql = select * from 工资表 where 编号 = + th + ; DataTable tb = new Class1().getds(sql); TextBox1.Text = tb.Rows

49、0编号.ToString(); TextBox2.Text = tb.Rows0姓名.ToString(); TextBox3.Text = tb.Rows0实际工资.ToString(); TextBox4.Text = tb.Rows0根本工资.ToString(); TextBox5.Text = tb.Rows0加班补助.ToString(); TextBox6.Text = tb.Rows0考勤扣除.ToString(); TextBox7.Text = tb.Rows0扣税.ToString(); TextBox8.Text = tb.Rows0工资信息备注.ToString();

50、 protected void Button1_Click(object sender, EventArgs e) /string rq = TextBox3.Text.Trim(); string xl = TextBox4.Text.Trim(); string byyx = TextBox5.Text.Trim(); string zc = TextBox6.Text.Trim(); string dh = TextBox7.Text.Trim(); string bz = TextBox8.Text.Trim(); string sql1 = update 工资表 set 根本工资=

51、+ xl + ,加班补助= + byyx + ,考勤扣除= + zc + ,扣税= + dh + ,工资信息备注= + bz + where 编号= + TextBox1.Text.Trim() + ;/更新员工信息 string sql2 = update 工资表 set 实际工资=根本工资+加班补助-考勤扣除-扣税; new Class1().noquery(sql1); new Class1().noquery(sql2); Response.Write(alert(修改成功!); protected void Button2_Click(object sender, EventArgs

52、 e) Response.Redirect(gongzi.aspx); 图 管理员添加员工根本信息界面 主要代码: protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string sql1, sql2; string bh = TextBox1.Text.Trim(); string xm = TextBox2.Text.Trim(); string rq = TextBox3.Text.Trim(); string xl =

53、 TextBox4.Text.Trim(); string byyx = TextBox5.Text.Trim(); string zc = TextBox6.Text.Trim(); string dh = TextBox7.Text.Trim(); string bz = TextBox8.Text.Trim(); string xb = (RadioButton1.Checked = true) ? 男 : 女; sql1 = select 编号 from 员工表 where 编号= + bh + ; sql2 = select 编号 from 工资表 where 编号= + bh +

54、; SqlDataReader myrd = new Class1().datareader(sql1);/调用类中的函数 if (myrd.Read() TextBox1.Text = 该编号已经存在; else /该名不存在,完成注册入库 sql1 = insert into 员工表(编号,姓名,性别,出生日期,职称,学历,毕业院校, ,根本信息备注) values( + bh + , + xm + , + xb + , + rq + , + zc + , + xl + , + byyx + , + dh + , + bz + ); sql2 = insert into 工资表(编号,姓名

55、)values( + bh + , + xm + ); new Class1().noquery(sql1); new Class1().noquery(sql2); Response.Write(alert(添加成功!); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(gongzi.aspx); 4 调试分析 最初是从主界面开始运行的, 再进入登录界面, 细想了一下登陆时所会遇到的情况,也与同学一起进行了讨论,最终对登陆功能实施了完善;然后就是进行到不同人员所登陆进去的功能实现, 共分为了

56、 2 个身份,员工和管理员,通过对于这三个身份功能的比拟, 根据不同身份的需求和特点, 在以实现最根本功能的前提下,增加其需求的不同功能,这样使得程序也更加容易的实现, 也方便了和更加熟悉了语言的书写;当然,在这其中还有很多问题,不过我觉得最重要的就是要先自己勾画出一个轮廓, 对整体布局和要求有个大概的了解, 在慢慢的着手,实在遇到不会的再与同学讨论得出结果,如假设不然,就向老师请教。 介绍一下测试经过,遇到哪些问题和难点,如何解决的? 4.1 员工调试 员工查看: 图4.1 员工查看 测试分析: 1.主要测试目的:员工能看到自己和同事的工资情况,并通过查找看到自己的。 2.测试到达的效果:员

57、工可以查找任意员工的工资情况。 3.测试遇到的问题和解决过程:测试中为遇到大的问题,此界面比拟简单。 4.2 管理员调试 管理员添加员工: 图4.2 添加员工 测试分析:此页面的设计和语句是比拟简单的,就是把输入文本框的内容,按照对应的列,录入数据库中。 测试结果: 图 添加员工信息 管理员修改员工工资情况: 图4.4 修改员工工资 测试分析:此页面的设计和语句是比拟简单的,就是把对应的输出到文本框中,修改后,按照对应的列,录入数据库中。 测试结果: 图 修改员工信息 学习的心得与体会 对于这次的课程设计,我真的感触良多!俗话说,书到用时方恨少,事实确实如此,自己做设计和看别人做,完全是两回事

58、,因为当你做设计时,你会发现原来自己懂得东西实在是太少了,虽然,上课老师讲的内容,自己能够懂,但是并没有下来理解和应用,所以当你要用这个东西的时候,你只会记得老师上课讲过,但是具体是怎么回事,怎么来的,你并不是很清楚,所以,我总结了教训,老师上课讲的内容, 自己下来一定要理解和实践, 这样会加深自己的印象和深刻理解。还有,要提高自己的自学能力,老师只是教方法,但具体怎么用,和用的如何,那就要看自己的理解和自学能力,在这次设计中,很多语句,设计在很多地方,虽然表现的形式不一样,但是他们都有异曲同工之妙,差不多都是由一种方法和格式演变而来的。很多时候遇到了一些问题,我总是想着去问别人,不想自己想方

59、法来解决,后来,我慢慢学会自己解决问题时,发现,自己在探索如何解决问题的时候,正是自己在进步,因为当你在解决问题时,你自己动了脑经,并且你也会看到不同的错误, 当下次再发生这个错误的时候, 你就会知道怎么改了, 而别人只是告诉你解决这个问题的方法结果, 假设这个问题换一种形式出现,那么你又会不知道了,所以自己探索的时候,收获的东西会更多。 对于这门课,我从原来的抗拒害怕到现在感兴趣,是转变很大的,不得不说这门课程有很大的魅力, 因为我能学到很多未知的东西, 能够把自己学到的东西再加上自己的想法做出自己的东西,这种感觉真的很奇妙。对这门课,我希望更多的时间在机房上,这本就是门技术的学科,更多的是

60、脑和手的结合,能够在老师讲完一个内容或知识点,我就能在电脑上运用出来,这才是真正的学到了。 虽然这次设计已接近尾声,但是还是有一些后续工作未完善。比方,员工的工太过简单和管路员对员工的资料的管理不太简洁。 还有,设计的排版过于简单和单一。应该还有很多细节和缺乏的地方,由于自己的知识还比拟浅薄,就只能如此了,不过,我一定会好好认真的学习这门课程的,因为真的很有趣,我能遇到很多不知道的错误和奇迹! 致 谢 经过近一个月的努力,我的课程设计根本完成,在整个系统的开发过程中,老师和同学给了我很大的帮助。很感谢老师和同学的帮助,在他们身上我学到了很多知识,是杨老师把我带入门的,他真的教会了我很多,最重要

61、的应该是这门课程的一种思维吧,还有一种精神,锲而不舍的精神。真的很感谢杨老师的教导! 另外,还要感谢给予我帮助的同学朋友们,是他们给予我太多技术指导和教我如何自己查找问题的原因。 最后还要感谢理解和支持我的朋友、同学和室友们,在我心中永远保存一份对他们的敬意。 衷心的感谢你们! 参考文献 1 黄梯云管理信息系统M北京:高等教育出版社,2005:139-141 2 龚小勇 关系数据库与 SQL Server2000M 北京: 机械工业出版社, 2002:20-23 3 李玉梅 动态 WEB 数据库应用研究.昆明理工大学硕士学位论文, 2004: 4-12 4 萨师煊, 王珊 数据库系统概论M 北京: 高等教育出版社, 2002: 203-242 5 杨浩 JavaScript 入门与提高M 北京: 清华大学出版社, 2004: 87-120 6 赵杰等SQL SERVER 数据库管理设计与实现教程M北京:清华大学出版社,2004: 33-74 7 Deborah S Ray Eric,Ray JHTML4.0 从入门到精通M北京:电子工业出版社, 2000:114-120 8 梁景红 网站设计与网页设计配色M 北京: 人民邮电出版社, 2005: 60-67

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号