项目管理系统最后结果

上传人:壹****1 文档编号:505647691 上传时间:2023-07-23 格式:DOC 页数:30 大小:377.50KB
返回 下载 相关 举报
项目管理系统最后结果_第1页
第1页 / 共30页
项目管理系统最后结果_第2页
第2页 / 共30页
项目管理系统最后结果_第3页
第3页 / 共30页
项目管理系统最后结果_第4页
第4页 / 共30页
项目管理系统最后结果_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《项目管理系统最后结果》由会员分享,可在线阅读,更多相关《项目管理系统最后结果(30页珍藏版)》请在金锄头文库上搜索。

1、一、目录一、目录1二、任务书2三、正文23.1设计目的23.2建立用户全局函数及自定义事件3全局函数f_encypt3自定义事件uo_dw_freedow3自定义事件uo_dw_delete4自定义事件shifter4自定义事件dberror43.3功能分析53.4表的设计63.5系统实现8主窗口8用户登陆窗口9部门数据录入与维护窗口10人员信息窗口12人员数据检索窗口13项目数据管理窗口16项目数据查询窗口18项目数据录入、编辑窗口19用户管理窗口22密码修改窗口24用户数据的录入和编辑窗口25数据备份窗口26运行界面28四、总结284.1系统评价284.1 .1系统特色29系统不足及改进2

2、9课程设计心得29五、参考文献30二、任务书图书馆查阅资料: 王雪娥 方俊 孙翠丽 设计并创建并联接数据库: 方俊 王雪娥 创建表格及主键、外键、及索引,并编入数据: 方俊 王雪娥 代码编写: 王雪娥 方俊 孙翠丽 吕剑豪 创建数据窗口对象: 孙翠丽 王雪娥 方俊 建立用户自定义事件并建立全局函数:方俊 各功能窗口模块化设计: 王雪娥:用户登陆窗口 部门数据录入和维护窗口 人员数据检索窗口 用户管理窗口 方俊: 人员数据录入、维护和查询窗口 项目数据显示窗口 项目录入、编辑窗口 用户数据录入、编辑窗口 孙翠丽: 项目数据查询窗口 部门人数统计窗口 更改密码窗口 吕剑豪:系统主窗口 数据备份窗口

3、菜单应用设计:王雪娥论文编写:王雪娥 方俊 孙翠丽 吕剑豪三、正文3.1设计目的进一步加深、巩固学生所学专业课程的基本理论知识,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。使学生得到搜集、处理、应用资料信息的实践训练,同时全面考察学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。3.2建立用户全局函数及自定义事件全局函数f_encypt/功能:加密/参数:字符串/返回值:字符串integer i,li_kllenstring ls_zmklli_kllen=len(a_ymm)for i=1 to li_kllenls_zmkl=ls_zmkl+char(

4、asc(mid(a_ymm,i,1)+i+li_kllen)nextreturn ls_zmkl自定义事件uo_dw_freedowif getrow()0 thenif deleterow(0)=1 thenmessagebox(提示,当前记录已被删除,请按“保存”按纽提交) end ifend if自定义事件uo_dw_deleteif this.update()0 thencommit using sqlca;messagebox(提示,数据已存盘)elserollback using sqlca;messagebox(提示,数据无法存盘,exclamation!)end if自定义事件

5、shifterif key=keyenter! or key=keydownarrow! thenkeybd_event(9,0,0,0)keybd_event(9,0,2,0)return(0)end ifif key=keydownarrow! thenkeybd_event(16,0,0,0)keybd_event(9,0,0,0)keybd_event(9,0,2,0)keybd_event(16,0,2,0)return(1)end if自定义事件dberror/显示错误信息messagebox(数据库错误,错误代码+string(sqldbcode)+rn+错误信息+sqlerrt

6、ext)return(1)3.3功能分析本系统以项目信息(项目编码,项目名称,开发经费,应用情况和参加人员),以及项目开发人员自身的信息(编码,姓名,性别,出生年月,职称和部门)为主线,以部门表等为辅表,实现了项目和人员信息的录入、查询和管理等功能,展示了用POWERBUILDER9.0开发系统的方法和技巧。系统功能模块分析(1) 系统登陆(2) 数据处理l 部门数据维护l 人员数据维护、查询l 项目数据维护、查询(3)统计报表l 部门人数统计l 项目数据统计(4)系统管理l 更改密码l 数据备份(5)窗口管理(6)系统帮助3.4表的设计部门信息表部门信息表用于记录单位中所有部门及部门编码,主

7、键为部门号(dept_id)。表结构如上表所示人员信息表人员信息表用于记录单位员工的主要信息,主键是员工号(p_id)。表结构如上表所示。其中性别字段用1位字符表示,M表示男,F表示女。项目信息表项目信息表用于记录项目信息,主键是项目编码pro_id。表结构如上表所示。项目参与人员表 项目参与人员表member用于记录项目开发的参与人员,主键是项目编码和员工号。因为一个项目可能有多人参与,而一个人也可能参与多个开发项目,因此单独用此表来记录,而没有在项目信息表或人员信息表中几记载,这样做的目的在于减少数据的冗余。系统用户信息表其中,用户类型字段用1位字符表示,0表示管理用户,1表示普通用户。3

8、.5系统实现主窗口这是窗口的closequery事件脚本long ll_returnll_return=messagebox(提示,确定要退出吗!,question!,yesno!,1)if ll_return=2 thenreturn 1 /不关闭窗口elsereturn 0 /关闭窗口end if这段程序的作用是当用户系统主窗口时,系统会提示用户是否确认退出,以避免用户的误操作导致系统终止运行,如上图所示。用户登陆窗口定义全局变量string gs_userid,gs_pwdboolean gb_manager确定按纽的clicked事件代码string ls_name,ls_pw,ls_

9、typels_name=sle_name.textls_pw=sle_pw.textif ls_name thenselect passwd,user_typeinto :gs_pwd,:ls_typefrom userswhere user_id=:ls_name;if f_encypt(ls_pw)gs_pwd or sqlca.sqlcode0 thenif ii_time=3 thenmessagebox(error,sorry you can not!)halt closeelseii_time+messagebox(error,please again!)end ifsle_nam

10、e.setfocus()elseif ls_type=0 thengb_manager=trueend ifgs_userid=ls_nameopen(w_main)close(parent)end ifend if单行编辑框的modified事件代码if keydown(keyenter!) then if this.text= then return else setfocus(cb_ok) cb_ok.triggerevent(clicked!) end ifend if部门数据录入与维护窗口定义窗口的实例变量integer ii_id新增按钮的clicked事件代码string ls_

11、maxidlong ll_rowcount,ll_rowll_rowcount=dw_department.rowcount()if ll_rowcount0 thenls_maxid=dw_department.getitemstring(ll_rowcount,dept_id)ii_id=integer(ls_maxid)+1elseii_id=1end ifll_row=dw_department.insertrow(0)dw_department.scrolltorow(ll_row)dw_department.setitem(ll_row,dept_id,string(ii_id)d

12、w_department.setfocus()下面的代码作用是给数据窗口设定事物对象并检索数据。dw_department.settransobject(sqlca)dw_department.retrieve()下面依次是删除、更新、保存、关闭按钮的clicked事件dw_department.deleterow(0)dw_department.update()dw_department.event ue_save()close(parent)该窗口用来录入、维护和查询人员数据人员信息窗口下面的代码作用是给数据窗口设定事物对象并检索数据。dw_personnel.settransobject

13、(sqlca)dw_personnel.retrieve()/保存数据窗口的selete语法is_selete=dw_personnel.describe(daeawindow.table.selete)新增按钮的clicked事件代码string ls_maxidlong ll_rowcount,ll_rowll_rowcount=dw_personnel.rowcount()if ll_rowcount0 thenls_maxid=dw_personnel.getitemstring(ll_rowcount,p_id)ii_id=integer(ls_maxid)+1elseii_id=1

14、end ifll_row=dw_personnel.insertrow(0)dw_personnel.scrolltorow(ll_row)dw_personnel.setitem(ll_row,p_id,string(ii_id,0000)dw_personnel.setfocus()查找按钮的clicked事件代码string ls_selectlong ll_rowcountopenwithparm(w_find_personnel,dw_personnel)ls_select=message.stringparmif ls_select= then return/根据返回的字符串重新构造数据窗口的select语句。以达到查询的目的dw_perso

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 汽车技术

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