简单的查询问题求教!
请问如何把下面的查询改成支持模糊查询?
// 过滤查询
long ll_rowcount
long ll_row
long ll_j
string ls_filter_condition
0Astring ls_column
string ls_compare
string ls_value
string ls_and_or
string ls_column_type
if dw_query_condition.AcceptText() = -1 then return
ll_rowcount = dw_query_condition.rowcount()
if ll_rowcount <=0 then return
ls_filter_condition = ''
for ll_row = 1 to ll_rowcount
ls_column = dw_query_condition.getitemstring(ll_row, 'column_name')
0Als_compare = dw_query_condition.getitemstring(ll_row, 'compare')
ls_value = dw_query_condition.getitemstring(ll_row, 'value')
ls_and_or = dw_query_condition.getitemstring(ll_row, 'and_or')
ls_column_type = dw_query.Describe(ls_column 2B ".ColType")
ls_column_type = left(ls_column_type, 3)
if ll_row = ll_rowcount then //最后一行(不加and、or)
choose case ls_column_type //根据数据类型设置Filter条件
case 'cha' ,'var' ,'str'
if ls_compare="==" then
ls_filter_condition = ls_filter_condition + &
"Pos(" 2B ls_column + " , '" + ls_value +"')<>0 "
else
ls_filter_condition = ls_filter_condition + &
ls_column + ls_compare + "'" + ls_value + "' "
end if
case 'num','dec','lon','rea','ulo'
ls_filter_condition = ls_filter_condition + &
ls_column + ls_compare + ls_value
case 'dat','tim'
ls_filter_condition = ls_filter_condition + "string(" + &
ls_column + ", 'yyyy.mm.dd')" + &
ls_compare + "'" + ls_value + "'"
case else
end choose
else
choose case ls_column_type //根据数据类型设置Filter条件
case 'cha','var','str'
if ls_compare="==" then
ls_filter_condition = ls_filter_condition + &
"Pos(" 2B ls_column + " , '" + ls_value +"')<>0 " &
+ ls_and_or + " "
else
ls_filter_condition = ls_filter_condition + &
ls_column + ls_compare + "'" + ls_value + "' " &
+ ls_and_or + " "
end if
case 'num','dec','lon','rea','ulo'
ls_filter_condition = ls_filter_condition + &
ls_column + ls_compare + ls_value + " " &
+ ls_and_or + " "
case 'dat','tim'
ls_filter_condition = ls_filter_condition + "string(" + &
ls_column + ", 'yyyy.mm.dd')" + &
ls_compare+ "'" + ls_value+ "' " &
+ ls_and_or + " "
case else
end choose
end if
next
//messagebox('ls_filter_condition', ls_filter_condition)
0Aif ls_filter_condition = '' then return
dw_query.setredraw(false)
0Adw_query.setFilter(ls_filter_condition)
if dw_query.filter() = 1 and dw_query.rowcount() > 0 then
ls_column = dw_query_condition.getitemstring(1, 'column_name')
dw_query.setsort(ls_column + ' A')
dw_query.sort()
dw_query.SetColumn(ls_column)0D
dw_query.selectrow(0,false)
dw_query.selectrow(1,true)
0Adw_query.setrow(1)
end if
dw_query.setredraw(true)
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]0