PB中想动态查询怎么弄?string City,Country,Series,STypeCity=ddlb_dq.textCountry=ddlb_xs.textSeries=ddlb_xl.textSType=ddlb_xh.textstring newsql,oldsqloldsql="select * from product where"int flagflag=0if cbx_dq.checked=true then //地区查询ne
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 21:25:13
PB中想动态查询怎么弄?string City,Country,Series,STypeCity=ddlb_dq.textCountry=ddlb_xs.textSeries=ddlb_xl.textSType=ddlb_xh.textstring newsql,oldsqloldsql="select * from product where"int flagflag=0if cbx_dq.checked=true then //地区查询ne
PB中想动态查询怎么弄?
string City,Country,Series,SType
City=ddlb_dq.text
Country=ddlb_xs.text
Series=ddlb_xl.text
SType=ddlb_xh.text
string newsql,oldsql
oldsql="select * from product where"
int flag
flag=0
if cbx_dq.checked=true then //地区查询
newsql=oldsql+" product.city = '"+City+"'"
flag=1
end if
if cbx_xs.checked=true then//按县市查询
if flag=0 then
newsql=oldsql+"and product.country ='"+Country+"'"
flag=1
else
newsql=newsql+"and product.country ='"+Country+"'"
end if
end if
if cbx_xl.checked=true then//按系列查询
if flag=0 then
newsql=oldsql+"and product.Series ='"+Series+"'"
flag=1
else
newsql=newsql+"and product.Series ='"+Series+"'"
end if
end if
if cbx_xh.checked=true then//按型号查询
if flag=0 then
newsql=oldsql+"and product.SType ='"+SType+"'"
flag=1
else
newsql=newsql+"and product.SType ='"+SType+"'"
end if
end if
dw_1.Filter()
dw_1.retrieve()
这个答不到筛选效果,还是整张表出现~应该怎么改呢?可以远程教教我吗?
PB中想动态查询怎么弄?string City,Country,Series,STypeCity=ddlb_dq.textCountry=ddlb_xs.textSeries=ddlb_xl.textSType=ddlb_xh.textstring newsql,oldsqloldsql="select * from product where"int flagflag=0if cbx_dq.checked=true then //地区查询ne
最下面的语法,FILTER是干什么的?SETFILTER()函数在哪里?
你拼出了SQL,可是没有赋给DW_1,所以即使retrieve,你拼接的SQL也没有起到作用.要使用DW_1.SETSQLSELECT()函数.
从你想表达的意思,FILTER函数应该是没有用的,把那个改成dw_1.setsqlselect(newsql).
再有,你的语句拼接也不对,如果按地区查询的CHECKBOX没有勾中,看看下面的拼接会出现 select .. from where and ...
就是这句,newsql=oldsql+"and product.country ='"+Country+"'"
后边也有.
还有,使用setsqlselect函数时,要求你拼的SQL(newsql)的select字段的顺序和类型都要和你dw_1是一致的,where条件不用一样,还有dw_1不能有参数.