编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

[求助]过滤的问题。。

[求助]过滤的问题。。

string ls_select,ls_txm,ls_bh,ls_xm,is_sql
int il_rowcount
ls_txm = trim(sle_1.text) // 拼音码
ls_bh = trim(sle_2.text) // 编号
ls_xm = trim(sle_3.text) // 名称

ls_select =""
// 拼音码
if not isnull(ls_txm) and ls_txm <> "" then
ls_txm = "%" + ls_txm + "%"
ls_select = ls_select + " pym LIKE '" + ls_txm + "'"
end if
// 编号
if not isnull(ls_bh) and ls_bh <> "" then
ls_bh = "%" + ls_bh + "%"
if ls_select = "" then
ls_select = " bh LIKE '" + ls_bh + "'"
else
ls_select = ls_select + " AND bh LIKE '" + ls_bh + "'"
end if
end if
// 名称
if not isnull(ls_xm) and ls_xm <> "" then
ls_xm = "%" + ls_xm + "%"
if ls_select = "" then
ls_select = " mz LIKE '" + ls_xm + "'"
else
ls_select = ls_select + " AND mz LIKE '" + ls_xm + "'"
end if
end if
messagebox('','第'+ls_select+'行!')
dw_1.setfilter(ls_select)
dw_1.filter()
il_rowcount=dw_1.retrieve()
st_5.text = string(il_rowcount)
sle_1.text=""
sle_2.text=""
sle_3.text=""



过滤一个的时候没问题。。但二个一起过滤。或三个一起过滤。。就报错。。望大侠们帮忙。谢谢

TOP

**: filter条件建议先在datawindow预览时直接写入试一下。

你所列的,问题可能为:
报表结构中filter相关and语法为
(bh like'%D%') and (pym like '%DY%') and (...)...

所以 应为
ls_select = "("+ls_select + ") AND (bh LIKE '" + ls_bh + "')"

试试
反正是加挎号的。

另外因为有时建表时未注意,导致失效,pym,bh等这些表列名建议加trim(),
没把握就按**来办
因为你的程序可使用,这里可以不加。

TOP

这个问题我也很迷惑的。学习!

TOP

TOP

发新话题