Web程序设计课程设计报告学 生:学 号:班 级:专 业:2014年5月目录工资管理系统的设计与实现 (3)课程设计总结 (15)参考文献 (15)工资管理系统的设计与实现一、实验目的及要求1、掌握Web网页常用的开发工具Frontpage2003或Deamweaver的使用;2、学会IIS的配置;3、学会Html、CSS、Javascript的简单开发和应用;4、学会B/S模式下,asp或与数据库的连接。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器等)操作系统为Windows XP,应用软件为Macromedia Dreamweaver 8、IIS 服务器和2005软件编辑器。
三、实验内容及步骤(一)、网站总体设计工资管理系统是一个ASP与数据库技术结合的典型应用程序由登录模块、前台员工浏览模块、后台管理员管理模块构成。
普通员工正确登录后进入前台员工浏览界面,管理员正确登录后进入后台管理员管理界面。
系统结构总图如图1、前台用户操作前台功能主要有员工查看个人信息、查看工资明细、查看考勤信息、申请假期、修改登录密码等。
前台页面设计如图:2、后台管理操作后台功能主要有员工信息管理(包括增加、删除、修改、查看员工信息)、员工工资管理(包括查看员工工资、设置岗位工资结构、工资结算等)、考勤记录管理(考勤内容有出差、加班、请假、迟到早退、旷工等)、部门信息管理(包括增加、删除、修改、查看员工信息)、岗位信息管理(包括增加、删除、修改、查看岗位信息)。
后台页面设计如图:(二) 、数据库设计1、数据库E-R图分析系统数据流图:数据流图表达了数据和处理之间的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
员工实体及属性:部门实体及属性:工资实体及属性:工资管理系统数据库ER图:2、数据表概要说明建立数据库employeemanage,包含的表如图:3、主要数据表的结构部门表如图所示:岗位表如图所示:员工表如图所示:岗位工资结构表如图所示:用户表如图所示:工资记录表如图所示:考勤记录表如图所示:考勤表如图所示:(四)、前台页面设计(普通用户模块)1、前台各个主要页面概述2、前台主页面的布局上为标题内容3、前台主页面的实现Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command1_Click() If Text1.Text = "" ThenMsgBox "员工编号不能为空!", vbOKOnly + vbExclamation, "警告" Text1.SetFocus Exit Sub End IfIf Text2.Text = "" ThenMsgBox "姓名不能为空!", vbOKOnly + vbExclamation, "警告" Text2.SetFocus Exit Sub End IfIf Combo1.Text = "" ThenMsgBox "性别不能为空!", vbOKOnly + vbExclamation, "警告" Combo1.SetFocus Exit SubText11.SetFocus Exit Sub End IfDim db As Connection Set db = New Connectiondb.CursorLocation = adUseClientdb.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=rsgz.mdb;"Set adoPrimaryRS = New Recordset a = Text1.TextadoPrimaryRS.Open "select * from ygInfo where 员工编号='" & a & "'", db, adOpenStatic, adLockOptimistic If Not adoPrimaryRS.EOF ThenMsgBox "该编号重复!", vbOKOnly + vbExclamation, "警告" Exit Sub ElseadoPrimaryRS.AddNewadoPrimaryRS.Fields("员工编号") = Text1.Text adoPrimaryRS.Fields("姓名") = Text2.Text adoPrimaryRS.Fields("性别") = Combo1.Text adoPrimaryRS.Fields("部门") = Combo2.Text adoPrimaryRS.Fields("民族") = Text3.Text adoPrimaryRS.Fields("出生年月") = Text4.Text adoPrimaryRS.Fields("政治面貌") = Combo3.Text adoPrimaryRS.Fields("家庭住址") = Text5.Text adoPrimaryRS.Fields("联系电话") = Text6.TextadoPrimaryRS.Fields("毕业学校") = Text7.Text adoPrimaryRS.Fields("最高学历") = Combo4.Text adoPrimaryRS.Fields("所学专业") = Text8.Text If Text9.Text = "" ThenadoPrimaryRS.Fields("职务") = "无" ElseadoPrimaryRS.Fields("职务") = Text9.Text End IfadoPrimaryRS.Fields("专业技术职称") = Combo5.Text adoPrimaryRS.Fields("职称时间") = Text10.Text adoPrimaryRS.Fields("基本工资") = Text11.Text If Text12.Text = "" ThenadoPrimaryRS.Fields("奖惩情况") = "无" ElseadoPrimaryRS.Fields("奖惩情况") = Text12.Text End If If Text13.Text = "" ThenadoPrimaryRS.Fields("个人简历") = "无" ElseadoPrimaryRS.Fields("个人简历") = Text13.Text End If adoPrimaryRS.UpdateMsgBox "记载成功!", vbOKOnly + vbExclamation, "提示"End IfText1.Text = ""Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" T ext7.Text = "" Text8.Text = "" Text9.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Combo1.Text = "" Combo2.Text = "" Combo3 .Text = "" Combo4.Text = "" Combo5.Text = "" End SubPrivate Sub Command2_Click() Unload Me End SubPrivate Sub Form_Load()Left = (Screen.Width - Width) \ 2 Top = (Screen.Height - Height) \ 2End Sub(五)、后台模块的设计与实现(管理员模块)1、后台各个主要页面概述2、后台主页面的布局标题内容数字事项更改3、后台主页面的实现a = Text14.TextadoPrimaryRS.MoveFirstDo While (adoPrimaryRS.EOF = False)If adoPrimaryRS.Fields("员工编号") <> a Then adoPrimaryRS.MoveNext Else Text1.Text = adoPrimaryRS.Fields("员工编号") Text2.Text = adoPrimaryRS.Fields("姓名") ……Exit Sub End If LoopIf adoPrimaryRS.EOF ThenMsgBox "员工基本信息表中没有该记录!", vbOKOnly + vbExclamation, "提示!" End IfDim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command1_Click() If Text1.Text = "" ThenMsgBox "员工编号不能为空!", vbOKOnly + vbExclamation, "警告"Text1.SetFocus Exit Sub End IfIf Combo1.Text = "" ThenMsgBox "岗位编号不能为空!", vbOKOnly + vbExclamation, "警告"Text2.SetFocus Exit Sub End IfIf Text2.Text = "" ThenMsgBox "业务档案不能为空!", vbOKOnly + vbExclamation, "警告"Text2.SetFocus Exit Sub End IfSet adoPrimaryRS = New Recordseta = Text1.TextadoPrimaryRS.Open "select * from TBInfo where 员工编号='" & a & "'", db, adOpenStatic, adLockOptimisticIf Not adoPrimaryRS.EOF ThenMsgBox "该编号重复!", vbOKOnly + vbExclamation, "警告" Exit Sub ElseadoPrimaryRS.AddNewadoPrimaryRS.Fields("员工编号") = Text1.Text adoPrimaryRS.Fields("岗位编号") = Combo1.TextIf Text2.Text = "" ThenadoPrimaryRS.Fields("业务档案") = "无" ElseadoPrimaryRS.Fields("业务档案") = Text2.Text End IfadoPrimaryRS.UpdateMsgBox "记载成功!", vbOKOnly + vbExclamation, "提示"End IfText1.Text = "" Text2.Text = "" Combo1.Text = ""End SubPrivate Sub Command2_Click() Unload Me End SubPrivate Sub Form_Load()Left = (Screen.Width - Width) \ 2 Top = (Screen.Height - Height) \ 2Set adoPrimaryRS = New RecordsetadoPrimaryRS.Open "select * from gwxsinfo ", db, adOpenStatic, adLockOptimisti cWith Combo1For i = 1 To adoPrimaryRS.RecordCount .AddItem adoPrimaryRS.Fields("岗位编号") adoPrimaryRS.MoveNext Next iEnd WithadoPrimaryRS.Cancel End Sub课程设计总结通过这次集中上街,我掌握了Accesss数据库的编程方法,掌握了Visual FoxPro 数据库是一个关系型数据库,Visual FoxPro 需要很少编程就可以建立一个面向对象的数据库应用程序。