标题 | 基于PowerBuilder查询模块的设计 |
范文 | ![]() 摘要:利用PowerBuilder可以开发各种实用的管理信息系统, 查询模块是系统功能模块中重要的组成部分,本文通过介绍学生档案管理系统的学生信息查询模块,提供了一种通用查询模块的编程方法及技巧。 关键词:PowerBuilder 学生信息 查询 0 引言 在学生档案管理系统中数据查询模块包括如下多个子模块:学生信息查询、学生德育查询、奖学金信息查询、违纪学生查询、教师信息查询、请假学生查询、奖励查询、班级信息查询、班级考核查询等。本文介绍学生信息查询子模块的详细的设计过程。 1 学生查询模块设计 在系统主窗口中,打开“数据查询”下拉菜单。选择“学生信息查询”选项,进入“学生信息查询”窗口w_query_ xsxc,如图1所示。首先选择一个查询的关键字:班级,选择“=”号,输入要查询的班级值:网Z011,单击“查询”按钮,提示符合查询条件的有三位学生。选择and复选框(可以进行复合查询),选择另一个关键字:所在市,选择“=”号,输入查询值:鞍山,再单击“查询”按钮,符合查询条件的有一位学生。找到符合条件的记录后,可查看当前学生的家庭档案和学生个人简历。对查询的结果可以浏览、打印输出。学生个人简历以A4纸打印输出。 图1 学生信息查询窗口w_query_xsxc 2 查询功能的实现 2.1 窗口对象的实例变量声明如下: string xm,xh string xscm,xszh int get,xcz,cou 2.2 窗口对象的Open事件脚本修改如下: tab_1.tabpage_1.dw_1.settransobject(sqlca) tab_1.tabpage_1.dw_1.retrieve() cou=tab_1.tabpage_1.dw_1.rowcount() get=tab_1.tabpage_1.dw_1.getrow() xscm=tab_1.tabpage_1.dw_1.getitemstring(get,"姓名") 2.3 tab_1控件的SelectionChanged事件脚本修改如下: get=tab_1.tabpage_1.dw_1.getrow() if get<>0 then tab_1.tabpage_2.dw_2.settransobject(sqlca) tab_1.tabpage_2.dw_2.retrieve() tab_1.tabpage_3.dw_3.settransobject(sqlca) tab_1.tabpage_3.dw_3.retrieve() get=tab_1.tabpage_1.dw_1.getrow() xscm=tab_1.tabpage_1.dw_1.getitemstring(get,"姓名") tab_1.tabpage_2.dw_2.setfilter("xscm='"+xscm+"'") tab_1.tabpage_2.dw_2.retrieve() tab_1.tabpage_3.dw_3.setfilter("姓名='"+xscm+"'") tab_1.tabpage_3.dw_3.retrieve() else tab_1.tabpage_2.dw_2.reset() tab_1.tabpage_3.dw_3.reset() messagebox("提示","查无此人!") end if 2.4 tab_1控件的create事件脚本如下: this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.tabpage_3=create tabpage_3 this.Control[]={this.tabpage_1,& this.tabpage_2,& this.tabpage_3} 2.5 tab_1控件的destroy事件脚本如下: destroy(this.tabpage_1) destroy(this.tabpage_2) destroy(this.tabpage_3) 2.6 标签页tabpage_1上的“查询”按钮的Clicked事件脚本如下: string aa,bb,cc,dd,ee,ff bb=ddlb_1.text aa=sle_1.text cc=ddlb_2.text dd=ddlb_3.text ee=ddlb_4.text ff=sle_2.text tab_1.tabpage_1.dw_1.clear() if cbx_1.checked=false then tab_1.tabpage_1.dw_1.setfilter(bb+cc+"'"+aa+"'") tab_1.tabpage_1.dw_1.retrieve() else tab_1.tabpage_1.dw_1.setfilter(bb+cc+"'"+aa+"'") tab_1.tabpage_1.dw_1.setfilter(dd+ee+"'"+ff+"'") tab_1.tabpage_1.dw_1.retrieve() end if 2.7 标签页tabpage_1上的“全部”按钮的Clicked事件脚本如下: tab_1.tabpage_1.dw_1.setfilter("") tab_1.tabpage_1.dw_1.retrieve() 2.8 标签页tabpage_1上的“打印”按钮的Clicked事件脚本如下: tab_1.tabpage_1.dw_1.print() 2.9 标签页tabpage_1上的“退出”按钮的Clicked事件脚本如下: close(w_query_xsxc) 2.10 标签页tabpage_2上的“打印”按钮的Clicked事件脚本如下: tab_1.tabpage_2.dw_2.print() 2.11 标签页tabpage_3上的“打印”按钮的Clicked事件脚本如下: tab_1.tabpage_3.dw_3.print() 3 结语 在系统主窗口中,打开“数据查询”下拉菜单。选择“学生德育查询”等其他查询模块选项,进入“学生德育查询”等其他窗口,操作方法与上述学生信息查询模块一致,既可以按班级、姓名、学号、学年、学期、周数、学分关键字查询,也可以选择复选框and后,做复合查询。 参考文献: [1]何绪洪,余建英.powerbuilder8.0数据库系统开发实例导航[M].人民邮电出版社,2003. [2]柯建勋,蔡毅,邓格林.PowerBuilder8.0基础篇[M].北京:清华大学出版社,2002. [3]柯建勋,张涛,邵亮.PowerBuilder8.0进阶篇[M].北京:清华大学出版社,2002. 作者简介:王超(1972-),女,辽宁朝阳人,信息工程系副主任,副教授,研究方向:软件开发。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。