在PB查询数据窗口的数据时
通常可以有两种方式
一是在数据窗口事先写好查询条件,然后用retrieve()函数通过参数传递给数据窗口
这种方式适合查询条件较为简单,条件数较少的数据窗口
二是使用SetSqlSelect()函数传递一个SQL查询语句
使用第二种方式更为灵活,可以查询约束条件更加复杂的数据,如果使用ORACLE数据库 则可配合ORACLE函数处理一些更为复杂的查询条件
1、使用 setsqlselect
ls_sql1=dw_1.getsqlselect()
ls_sql1 = is_sql +" A.FNAME='张三' "
tab_1.tabpage_1.dw_1.setsqlselect( ls_sql1)
tab_1.tabpage_1.dw_1.event retrieve()
2、
直接在 retrieve事件中添加参数
String endtime
String starttime
Integer v_checked
endtime=String(em_end.text)
starttime=String(em_start.text)
v_checked=1
if not cbx_1.checked then v_checked=0
dw_1.retrieve(starttime,endtime,v_checked)
////////////////////////////////////////pb中数据窗口filter函数和retrieve函数的区别和联系/////////////////////////////////////////////////////////////////////
retrieve():按条件从数据库来中筛选数据,显示到数据库窗口中。
filter():对数据库窗口中的数据库进行筛选,显示或隐藏数据。
区别在于源,retrieve()筛选的是数据库中的数据,filter()筛选的是已经显zhidao示在数据库窗口中的数据。
filter() 使用:
file_string='列名=值'
dw_1.setredraw( false) //抑制重画
dw_1.setfilter(file_string) //设置条件
dw_1.filter() //执行
dw_1.setredraw( true) //允许重画
dw_1.scrolltorow( 1) //跳到指定行
retrieve() 使用:
this.retrieve(参数)