万卷书>>电脑书籍>>程序设计>>pb程序设计>>PowerBuilder使用技巧集

WANJUANSHU.COM

PB 6.0 的下拉列表框功能增强

电子工业部第二研究所
侯一雪




 

---- Power Builder 中提供的许多工具对象和函数,功能强大、使用方便,使开发人员的工作更加灵活、简洁。同时,可以使用特定数据库管理系统专用的SQL语句,大大增强了程序操纵和访问数据库的能力。但在使用中,笔者发现PB 的下拉列表框(DropDownListBox)的Item在取固定值时较为方便,而需从数据表中取变化的值则相对较烦琐,经笔者分析,编制如下函数,实现了上述功能,希望给广大PB编程爱好者一点参考。


 

---- 具体实现步骤:


 

---- 1. 新建函数DDLB_FROM_TAB,参数分别如下:


 

参数	类型	传递方式	说明
tab_name	string	value 表名
col_name	string	value	待取值列名
filt_colname	string	value	条件列名
filt_ch	string	value	比较符
filt_value	string	value	条件值
ddlb_name dropdownlistbox	value	下拉列表框名


 

---- 2.添加函数脚本:


 

	string ls_add_string, ls_select_string
int li_pos


DECLARE dyn_cursor DYNAMIC CURSOR FOR sqlsa; ls_select_string = "SELECT " + col_name + " FROM " + tab_name + " WHERE " + filt_colname + filt_ch + filt_value //此处需注意条件字段类型匹配问题 PREPARE sqlsa FROM :ls_select_string using sqlca;

OPEN DYNAMIC dyn_cursor; if sqlca.sqlcode < 0 then MessageBox("数据库错误!", sqlca.sqlerrtext) return sqlca.sqlcode end if

ddlb_parm.SetRedraw(false) ddlb_parm.Reset( ) Do While sqlca.sqlcode = 0 Fetch dyn_cursor into :ls_add_string; if sqlca.sqlcode = 0 then messagebox("",ls_add_string) ddlb_parm.AddItem(ls_add_string) elseif sqlca.sqlcode < 0 then MessageBox("数据库错误!", sqlca.sqlerrtext) return sqlca.sqlcode else exit end if Loop

ddlb_parm.SetRedraw(true) Close dyn_cursor;

return 0


 

---- 3.程序调用自定义函数。由于函数参数引用为字符串,因此当值参是字符串时,需用双重引号,否则,程序运行时会提示错误。


 

---- 以上程序在windows95、Power Builder 6.0下调试通过。

 
上一页 WanJuanShu.COM 下一页
WANJUANSHU.COM 万卷书