数据库实验七(25页).doc
-数据库应用设计设计报告题目名称:_员工薪资管理_ _设计环境:_ Oracle 11g_ _指导教师:_张世玲_专业班级:_计科1401_姓 名:_董嗣川_学 号:_513543543_联系电话:_15235354354_ _电子邮件:_224354354354_设计日期: 2015年 10月25日至 2015年11月15 日设计报告日期: 2015 年 11 月 18 日指导教师评语:设计成绩:_ 指导教师签名:_参考文献1 中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002.清华大学出版社,20022 Tony Greening.21世纪计算机科学教育.高等教育出版社3 王珊,萨师煊.数据库系统概论(第四版).高等教育出版社,20064 杨冬青,唐世渭.数据库系统概念(第三版).机械工业出版社,20035 Hector Garcia-Molina,Jeffrey D.Ullman.数据库系统全书.机械工业出版社,20036 宋振会.SQL Server 2000中文版基础教程.清华大学出版社,20057 郑阿奇. SQL Server实用教程.电子工业出版社,20028 刘自伟.管理信息系统开发技术.武汉理工大学出版社,2003一. “员工薪资管理系统”程序功能简介2.1程序概述“员工薪资管理系统”是选用Mircrosoft 公司的Sql Server 2000和VB6.0开发环境而设计的,并且与SQL数据库相连接。能够很方便的让员工进行信息查询,以及工资查询。同时也方便了管理员对企业员工的基本信息和工资信息进行管理,实现对员工信息进行增,删,改,查。程序界面设计简单明了,容易操作。2.2程序各个模块的功能进入窗体frmwel:加载界面登录窗体denglu:学生和教师实现用户名,密码登录菜单窗体main:包括相应菜单栏,实现查询,添加,编辑等查询窗体chaxun1和chaxun2 查询员工基本信息和薪资信息编辑信息窗体xxbj 管理员进入,对员工信息进行编辑修改密码窗体xgmm 修改员工和管理员密码计算器窗体 scientific 帮助计算工资添加窗体tjyh 天加用户关于窗体about 关于本程序介绍2.3.程序流程设计2.3.1程序设计各模块功能分析2.3.2SQL数据库设计表设计E-R图各个表字段名及属性2.3.3窗体设计1)进入窗体设计frmwel代码如下:Private Sub Timer1_Timer()Static N As Integer N = N + 1 Label3.Caption = "正在加载数据,请等候" & String(N, ".") If N = 2 Then With denglu .Show End With denglu.Show Unload Me End IfEnd Sub2)登录窗体denglu设计代码如下Option ExplicitPrivate Sub Form_Load() Label5.Width = denglu.ScaleWidth Label5.Left = denglu.ScaleWidth End SubPrivate Sub Command2_Click() Dim intResult As Integer '请求用户确认是否真的退出系统登录 intResult = MsgBox("你选择了退出系统登录,退出将不能启动员工薪资管理系统!是否真的退出?", vbYesNo, "登录验证") If intResult = vbYes Then End '根据用户选择结束应用程序End SubPrivate Sub Command1_Click()If Option1.Value = True Then Dim str As String str = "select* from 员工表 where 用户名='" & Trim(Text1.Text) & "'" Adodc1.RecordSource = str Adodc1.Refresh If Adodc1.Recordset.EOF = True Then MsgBox "此用户名不存在,请重试!", vbOKOnly + vbExclamation, "登录" Text1.Text = "" Text1.SetFocus ElseIf Trim(Adodc1.Recordset.Fields("密码") = Trim(Text2.Text) Then main.Show Me.Hide Else MsgBox "密码不正确,请重试!", vbOKOnly + vbExclamation, "登录" End IfEnd IfIf Option2.Value = True Then Dim str1 As String str1 = "select* from 管理员表 where 用户名='" & Trim(Text1.Text) & "'" Adodc2.RecordSource = str1 Adodc2.Refresh If Adodc2.Recordset.EOF = True Then MsgBox "此用户名不存在,请重试!", vbOKOnly + vbExclamation, "登录" Text1.Text = "" Text1.SetFocus ElseIf Trim(Adodc2.Recordset.Fields("密码") = Trim(Text2.Text) Then main.Show Me.Hide Else MsgBox "密码不正确,请重试!", vbOKOnly + vbExclamation, "登录" End IfEnd IfEnd SubPrivate Sub Timer1_Timer() If Label5.Left + Label5.Width >= 0 Then Label5.Left = Label5.Left - 50 Else Label5.Left = denglu.ScaleWidth End IfEnd Sub3)菜单窗体main设计代码:Private Sub jbxx_Click()If denglu.Option2.Value = True Then xxbj.Show Me.HideElse MsgBox "对不起,您没有这个权限!", vbOKOnly + vbExclamation, "警告"End IfEnd SubPrivate Sub mmxg_Click()xgmm.ShowMe.HideEnd SubPrivate Sub pc_Click()Me.Hidescientific.ShowEnd SubPrivate Sub tcxt_Click()Me.Hidedenglu.ShowEnd SubPrivate Sub tj_Click()If denglu.Option2.Value = True Then tjyh.Show Me.HideElse MsgBox "对不起,您没有这个权限!", vbOKOnly + vbExclamation, "警告"End IfEnd SubPrivate Sub xtjj_Click()about.ShowMe.HideEnd SubPrivate Sub xxcx_Click()chaxun1.ShowMe.HideEnd SubPrivate Sub xzcx_Click()chaxun2.ShowMe.HideEnd SubPrivate Sub xzxx_Click()If denglu.Option2.Value = True Then xxbj.Show Me.HideElse MsgBox "对不起,您没有这个权限!", vbOKOnly + vbExclamation, "警告"End IfEnd Sub4)查询窗体chaxun1和chaxun2设计代码:chuxun1Private Sub Command1_Click()Dim str1 As StringIf Text1 = vbNullString Then MsgBox "请输入所要查询的员工号", , "错误" Text1.SetFocus Exit Sub If Adodc1.Recordset.EOF = True Then MsgBox "信息库中没有你所要查找的员工的信息!", , "结果" Text1.SetFocus Text1 = vbNullString End IfEnd Ifstr1 = "select* from 基本表 where 员工号='" & Trim(Text1.Text) & "'"Adodc1.RecordSource = str1Adodc1.RefreshEnd SubPrivate Sub Command2_Click()Unload Memain.ShowEnd SubPrivate Sub Command3_Click()Dim str As String str = "select * from 基本表 " Adodc1.RecordSource = str Adodc1.RefreshEnd Sub代码chuxun2Private Sub Command1_Click()Dim str As StringIf Text1 = vbNullString Then MsgBox "请输入所要查询的员工号", , "错误" Text1.SetFocus Exit Sub If Adodc1.Recordset.EOF = True Then MsgBox "信息库中没有你所要查找的员工的信息!", , "结果" Text1.SetFocus Text1 = vbNullString End IfEnd If str = "select * from 薪资表 where 员工号 = '" & Trim(Text1.Text) & "'" Adodc1.RecordSource = str Adodc1.RefreshEnd SubPrivate Sub Command2_Click()Unload Memain.ShowEnd SubPrivate Sub Command3_Click()Dim str As String str = "select * from 薪资表 " Adodc1.RecordSource = str Adodc1.RefreshEnd Sub5)编辑信息窗体xxbj设计代码:Private str1 As StringPrivate str2 As StringPrivate Sub Command1_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 Adodc1.Recordset.AddNew Adodc2.Recordset.AddNew Case 1 ask = MsgBox("删除否?", vbYesNo) If ask = 6 Then Adodc1.RecordSource = str1 Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Adodc2.RecordSource = str2 Adodc2.Recordset.Delete Adodc2.Recordset.MoveNext IfAdodc2.Recordset.EOF ThenAdodc2.Recordset.MoveLast End If Case 2 Adodc1.Recordset.Update Adodc2.Recordset.Update MsgBox "更新成功!", vbOKOnly + vbExclamation, "提示" End SelectEnd SubPrivate Sub Command2_Click() Unload Me main.ShowEnd SubPrivate Sub Command5_Click()If Text14 = vbNullString Then MsgBox "请输入所要查询的员工号", , "错误" Text14.SetFocus Exit SubEnd Ifstr1 = "select* from 基本表 where 员工号='" & Trim(Text14.Text) & "'"Adodc1.RecordSource = str1Adodc1.Refreshstr2 = "select* from 薪资表 where 员工号='" & Trim(Text14.Text) & "'"Adodc2.RecordSource = str2Adodc2.RefreshIf Adodc1.Recordset.EOF = True Then MsgBox "信息库中没有你所要查找的员工的信息!", , "结果" Text14.SetFocus Text14 = vbNullString Else Text1.Text = Adodc1.Recordset.Fields("员工号") Text2.Text = Adodc1.Recordset.Fields("姓名") Text3.Text = Adodc1.Recordset.Fields("性别") Text4.Text = Adodc1.Recordset.Fields("年龄") Text5.Text = Adodc1.Recordset.Fields("职业") Text15.Text = Adodc1.Recordset.Fields("单位") Text7.Text = Trim(Adodc1.Recordset.Fields("备注") Text8.Text = Adodc2.Recordset.Fields("基本工资") Text9.Text = Adodc2.Recordset.Fields("福利补贴") Text10.Text = Adodc2.Recordset.Fields("奖励工资") Text11.Text = Adodc2.Recordset.Fields("失业保险") Text12.Text = Adodc2.Recordset.Fields("住房基金") Text6.Text = Adodc2.Recordset.Fields("员工号") Text16.Text = Adodc2.Recordset.Fields("姓名") Text13.Text = Val(Text8.Text) + Val(Text9.Text) + Val(Text10.Text) - Val(Text11.Text) - Val(Text12.Text)End IfEnd Sub6)修改密码窗体xgmm设计代码Private Sub Command1_Click()If Trim(Text1.Text) <> Trim(Text2.Text) Then MsgBox "两次密码不一致,请重新输入!", vbOKOnly + vbExclamation, "信息提示" Text1.SetFocus Text1.Text = "" Text2.Text = ""ElseIf denglu.Option1.Value = True Then Adodc1.RecordSource = "select * from 员工表 where 用户名='" & denglu.Text1.Text & " '" Adodc1.Refresh Adodc1.Recordset.Fields("密码") = Text1.Text Adodc1.Recordset.Update MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"ElseIf denglu.Option2.Value = True Then Adodc1.RecordSource = "select * from 管理员表 where 用户名='" & denglu.Text1.Text & " '" Adodc1.Refresh Adodc1.Recordset.Fields("密码") = Text1.Text Adodc1.Recordset.Update MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"End IfEnd SubPrivate Sub Command2_Click()Unload Memain.ShowEnd Sub7)计算器窗体 scientific设计代码省略8)添加窗体tjyh设计代码Private Sub Command1_Click()Adodc1.RefreshAdodc1.Recordset.AddNewEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.UpdateMsgBox "添加成功!", vbOKOnly + vbExclamation, "提示"End SubPrivate Sub Command3_Click()Unload Memain.ShowEnd Sub9) 关于窗体about 设计-第 25 页-