小弟我已经设置了一个检索参数,想显示出所有的数据
我已经设置了一个检索参数,想显示出所有的数据
string a
string b
string c
a=ddlb_1.text
b=ddlb_2.text
c=ddlb_3.text
if a=""and b=""and c="" then
connect;
dw_1.settransobject(sqlca)
dw_1.setfilter( ' ')
else
connect;
dw_1.settransobject(sqlca)
dw_1.retrieve(a,b,c)
end if
disconnect;
ddlb_1.setfocus()
我知道可能dw_1.setfilter( ' ') 不对,但是不知道该怎么写,网上看了半天也没看出眉目,就是想说检索为空的时候,在DW_1中显示所有的数据,小小菜鸟,还望各位大侠赐教。
------解决方案--------------------
首先你dw_1的datawindow里的datasource应该改一下.例如:
string a
string b
string c
a=ddlb_1.text
b=ddlb_2.text
c=ddlb_3.text
if a=""and b=""and c="" then
connect;
dw_1.settransobject(sqlca)
dw_1.setfilter( ' ')
else
connect;
dw_1.settransobject(sqlca)
dw_1.retrieve(a,b,c)
end if
disconnect;
ddlb_1.setfocus()
我知道可能dw_1.setfilter( ' ') 不对,但是不知道该怎么写,网上看了半天也没看出眉目,就是想说检索为空的时候,在DW_1中显示所有的数据,小小菜鸟,还望各位大侠赐教。
------解决方案--------------------
首先你dw_1的datawindow里的datasource应该改一下.例如:
- C/C++ code
select * from table where (a = :a or :a = '') and (b = :b or :b = '') and (a = :b or :b = '')
------解决方案--------------------
在没有选择回传所有数据其实很简单
将SQL 写成以下
Select * from table
where (:a = '' and :b = '' and :c = '' ) // 3 个 arguments 都是空
or .... // 你没说清楚,你自已设定其他组合情况好了
直接用dw_1.retrieve(a,b,c)
当然还有其他很多方法