最新PB人事管理系统课程设计.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datePB人事管理系统课程设计PB人事管理系统课程设计课程设计报告书2009/2010 学年 第 2 学期课程名称: PB数据库应用程序开发 项 目: 人事管理系统 学 院: 计算机科学与技术 专 业: 计算机网络 指导教师: 班 级: 成 员: 2010年6月目录一、功能说明3二、整体设计41、软件功能框架设计42、数据库设计及其关系图4(1)、数据关系图5(2)、数据库视图5三、各功能简要说明61. w_login窗体,登录验证后到主界面6(1).“登录”按钮代码62. w_main窗体,显示信息,打印,另存为等操作7(1).“保存修改”按钮代码7(2).“另存为”按钮代码7(3).“打印”按钮代码7(4).“刷新”按钮代码73. w_tianjia窗体,添加新员工8(1).“添加”按钮代码84. w_shanchu窗体,删除员工9(1).“删除”按钮代码95. w_hunying窗体,查看婚姻信息10(1).“修改”按钮代码106. w_xueli窗体,查看学历信息11(1).“保存修改”按钮代码11(2).“打印”按钮代码11(3).“另存为”按钮代码117. w_gonghao窗体,按工号查询员工信息12(1).“查询”按钮代码128. w_xingming窗体,按姓名查询员工信息13(1). “查询”按钮代码139. w_txueli窗体,统计员工学历信息1410. w_bumen窗体,查看部门信息14(1).“添加”按钮代码15(2).“删除”按钮代码15(3).“保存修改”按钮代码1511. w_gangwei窗体,查看岗位信息15(1).“添加”按钮代码16(2).“删除”按钮代码16(3).“保存修改”按钮代码1612.菜单menus16四、总结171、程序说明172、心得体会17一、功能说明“人事管理系统”整体功能说明整个工资管理系统仅一管理员账号,登陆后能查看员工基本信息,员工学历信息,员工婚姻信息,添加、修改、删除员工信息,查看、修改部门和岗位信息功能说明如下:1 新员工的基本信息的添加2 员工信息查看,修改3 修改密码4 查询员工的信息5 导出数据到各种格式中,打印员工基本信息表6. 员工学历统计图7 部门信息管理8. 岗位信息管理本程序制作环境:windows7,PowerBuilder 9.0,MSSQL2005二、整体设计1、软件功能框架设计2、数据库设计及其关系图注意:以下此数据库图中未包含管理员账号、密码表格,且为MSSQL2005中创建(1)、数据关系图 (2)、数据库视图三、各功能简要说明1. w_login窗体,登录验证后到主界面(1).“登录”按钮代码 string password,username SELECT user.admin, user.password INTO :username, :password FROM user WHERE user.admin = :sle_1.text;if sle_1.text="" or sle_2.text="" thenmessagebox("错误!","用户名或密码不能为空!",exclamation!,ok!,2)elseif username=sle_1.text and password=sle_2.text then messagebox("通过验证!","用户名和密码正确,欢迎您使用本系统!",Information!,ok!,2) elsemessagebox("错误!","用户名或密码错误,请重新输入!",exclamation!,ok!,2) end ifend if2. w_main窗体,显示信息,打印,另存为等操作(1).“保存修改”按钮代码if messagebox("提示信息","是否保存修改?",Question!,YesNo!,1)=1 thendw_1.update(),messagebox("提示信息","保存完成")else messagebox("提示信息","保存失败")end if(2).“另存为”按钮代码dw_1.SaveAs()(3).“打印”按钮代码dw_1.Print()(4).“刷新”按钮代码dw_1.retrieve()3. w_tianjia窗体,添加新员工(1).“添加”按钮代码if(sle_1.text="" or sle_2.text="" or sle_3.text="" or sle_4.text="" or sle_5.text="" or sle_6.text="" or sle_7.text="" or sle_8.text="" or sle_9.text="" or sle_10.text="" or sle_11.text="" or sle_12.text="" or sle_13.text="" or sle_14.text="" or sle_15.text="" or sle_16.text="") thenmessagebox("提示信息","信息未填完整")else if messagebox("提示信息","是否添加此员工?",Question!,YesNo!,1)=1 theninsert into 员工基本信息表(员工基本信息表.工号,员工基本信息表.姓名,员工基本信息表.学历,员工基本信息表.岗位,员工基本信息表.部门,员工基本信息表.电话号码,员工基本信息表.性别,员工基本信息表.出生日期,员工基本信息表.家庭住址,员工基本信息表.婚否,员工基本信息表.参加工作时间)values(:sle_1.text,:sle_2.text,:sle_12.text,:sle_3.text,:sle_4.text,:sle_5.text,:sle_10.text,:sle_6.text,:sle_8.text,:sle_9.text,:sle_7.text);insert into 员工婚姻情况表(员工婚姻情况表.姓名,员工婚姻情况表.性别,员工婚姻情况表.配偶)values(:sle_2.text,:sle_10.text,:sle_11.text);insert into 员工学历情况表(员工学历情况表.姓名,员工学历情况表.学历,员工学历情况表.专业,员工学历情况表.学校,员工学历情况表.外语水平,员工学历情况表.毕业时间)values(:sle_2.text,:sle_12.text,:sle_13.text,:sle_14.text,:sle_15.text,:sle_16.text); messagebox("提示信息","添加完成") else messagebox("提示信息","添加失败") end ifend if4. w_shanchu窗体,删除员工(1).“删除”按钮代码if(sle_1.text="" or sle_2.text="") then messagebox("提示信息","请两项都要输入")else if messagebox("提示信息","删除后无法恢复,是否删除此员工所有信息?",Question!,YesNo!,1)=1 thendelete from 员工基本信息表where 员工基本信息表.姓名=:sle_1.text and 员工基本信息表.工号=:sle_2.text;delete from 员工学历情况表where 员工学历情况表.姓名=:sle_1.text;delete from 员工婚姻情况表where 员工婚姻情况表.姓名=:sle_1.text;messagebox("提示信息","删除完成")sle_1.text="" else messagebox("提示信息","删除失败") end ifend if5. w_hunying窗体,查看婚姻信息(1).“修改”按钮代码if messagebox("提示信息","是否保存修改?",Question!,YesNo!,1)=1 thendw_1.update()messagebox("提示信息","保存完成")else messagebox("提示信息","保存失败")end if6. w_xueli窗体,查看学历信息(1).“保存修改”按钮代码if messagebox("提示信息","是否保存修改?",Question!,YesNo!,1)=1 thendw_1.update()messagebox("提示信息","保存完成")else messagebox("提示信息","保存失败")end if(2).“打印”按钮代码dw_1.Print()(3).“另存为”按钮代码dw_1.saveas()7. w_gonghao窗体,按工号查询员工信息 (1).“查询”按钮代码if(sle_6.text="") then messagebox("提示信息","请输入工号")elseselect 员工基本信息表.工号,员工基本信息表.姓名,员工基本信息表.学历,员工基本信息表.岗位,员工基本信息表.部门,员工基本信息表.家庭住址into:sle_1.text,:sle_2.text,:sle_3.text,:sle_4.text,:sle_5.text,:sle_7.textfrom 员工基本信息表where 员工基本信息表.工号=:sle_6.text;sle_6.text=""end if8. w_xingming窗体,按姓名查询员工信息(1). “查询”按钮代码if(sle_6.text="") then messagebox("提示信息","请输入姓名")elseselect 员工基本信息表.工号,员工基本信息表.姓名,员工基本信息表.学历,员工基本信息表.岗位,员工基本信息表.部门,员工基本信息表.家庭住址into:sle_1.text,:sle_2.text,:sle_3.text,:sle_4.text,:sle_5.text,:sle_7.textfrom 员工基本信息表where 员工基本信息表.姓名=:sle_6.text;sle_6.text=""end if9. w_txueli窗体,统计员工学历信息10. w_bumen窗体,查看部门信息(1).“添加”按钮代码int k1k1=dw_1.InsertRow(0)dw_1.ScrollToRow(k1)(2).“删除”按钮代码dw_1.DeleteRow(0)(3).“保存修改”按钮代码if messagebox("提示信息","是否保存修改?",Question!,YesNo!,1)=1 thendw_1.update()messagebox("提示信息","保存完成")else messagebox("提示信息","保存失败")end if11. w_gangwei窗体,查看岗位信息(1).“添加”按钮代码int g1g1=dw_1.InsertRow(0)dw_1.ScrollToRow(k1)(2).“删除”按钮代码dw_1.DeleteRow(0)(3).“保存修改”按钮代码if messagebox("提示信息","是否保存修改?",Question!,YesNo!,1)=1 thendw_1.update()messagebox("提示信息","保存完成")else messagebox("提示信息","保存失败")end if12.菜单menus四、总结1、程序说明本系统是采用Powerbuilder9.0为开发工具,开发环境Windows7。数据库采用微软公司旗下产品SQL2005。演示版本数据库连接采用MS环境下数据源OBDC,数据源名称<人事管理系统>,在PB9.0中连接时名为<人事管理数据库(PB课程设计)>。该系统是XXX在PB课程设计期间完成,编写耗时一周。由于是PB的初作品,难免有些不近人意之处,由于我们以前从事程序编写工作不多并且由于水平和时间有限,所以很多更人性化工作没有做到。程序界面未进行任何美化修改,并且程序本身难免可能存在一些功能不足,语法不够严谨等小问题,希望老师能够谅解! 2、心得体会-