基于PowerBuilder查询模块的设计

更新时间:2024-03-07 作者:用户投稿原创标记本站原创 点赞:3759 浏览:10476

摘 要:利用PowerBuilder可以开发各种实用的管理信息系统,

查询模块是系统功能模块中重要的组成部分,本文通过介绍学生档案管理系统的学生信息查询模块,提供了一种通用查询模块的编程方法及技巧.

关 键 词:PowerBuilder学生信息查询

0引言

在学生档案管理系统中数据查询模块包括如下多个子模块:学生信息查询、学生德育查询、奖学金信息查询、违纪学生查询、教师信息查询、请检测学生查询、奖励查询、班级信息查询、班级考核查询等.本文介绍学生信息查询子模块的详细的设计过程.

1学生查询模块设计

在系统主窗口中,打开“数据查询”下拉菜单.选择“学生信息查询”选项,进入“学生信息查询”窗口w_query_

xsxc,如图1所示.首先选择一个查询的关键字:班级,选择“等于”号,输入要查询的班级值:网Z011,单击“查询”按钮,提示符合查询条件的有三位学生.选择and复选框(可以进行复合查询),选择另一个关键字:所在市,选择“等于”号,输入查询值:鞍山,再单击“查询”按钮,符合查询条件的有一位学生.找到符合条件的记录后,可查看当前学生的家庭档案和学生个人简历.对查询的结果可以浏览、打印输出.学生个人简历以A4纸打印输出.

图1学生信息查询窗口w_query_xsxc

2查询功能的实现

2.1窗口对象的实例变量声明如下:

stringxm,xh

stringxscm,xszh

intget,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.3tab_1控件的SelectionChanged事件脚本修改如下:

get等于tab_1.tabpage_1.dw_1.getrow()

ifget<>0then

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("提示","查无此人!")

endif

2.4tab_1控件的create事件脚本如下:

this.tabpage_1等于createtabpage_1

this.tabpage_2等于createtabpage_2

this.tabpage_3等于createtabpage_3

this.Control[]等于{this.tabpage_1,&

this.tabpage_2,&

this.tabpage_3}

2.5tab_1控件的destroy事件脚本如下:

destroy(this.tabpage_1)

destroy(this.tabpage_2)

destroy(this.tabpage_3)

2.6标签页tabpage_1上的“查询”按钮的Clicked事件脚本如下:

stringaa,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()

ifcbx_1.checked等于falsethen

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()

endif

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后,做复合查询.