复合检索

sjx0910 2003-05-30 02:36:17
我想在数据窗口中,输入数据,检索!
用dw_1.setfilter()能用and 吗?
...全文
64 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff_107 2003-05-31
  • 打赏
  • 举报
回复
错了!setfilter中的like只能用一个!两个不支持的呀!
ldq_pb 2003-05-31
  • 打赏
  • 举报
回复
對,like要加括號,要不用pos也可以
waterstony 2003-05-31
  • 打赏
  • 举报
回复
还有,like条件之间加上括号。
dw_1.setfilter("(age =" +string(age)+ ")and (sex like '%"+string(sex)+"%'" + ")and (subject like '%" + string(subject)+"%')")
waterstony 2003-05-31
  • 打赏
  • 举报
回复
可以用like,但是字段必须是字符型的,不然会报错。
sjx0910 2003-05-31
  • 打赏
  • 举报
回复
我怀疑大概是like有问题,我看帮助里面好象只能用=,not ,<>之类的,连接and应该没问题。
后来我用=代替like也可以检索两个及以上,而我又想模糊查询,是like的错吗?
Thinkinger 2003-05-31
  • 打赏
  • 举报
回复
要不要我帮忙,挺热闹的!
szpqq 2003-05-30
  • 打赏
  • 举报
回复
可能判断是否加上某些条件,如:
if len(trim(age))<>0 then
ls_state = "( age like '"+age+"%')"
ls_bz='1'
end if
if len(trim(sex))<>0 then
if ls_bz='0' then
ls_state = "( sex like '"+sex+"%')"
else
ls_state = ls_state +"( sex like '"+sex+"%')"
end if
ls_bz='1'
end if
if len(trim(subject ))<>0 then
if ls_bz='0' then
ls_state = "( subject like '"+subject +"%')"
else
ls_state =ls_state+ "( subject like '"+subject +"%')"
end if
ls_bz='1'
end if
dw_1.setfilter(ls_state)
zyhtz 2003-05-30
  • 打赏
  • 举报
回复
当然可以用and or 之类的连接
不过要注意日期类型,以及多个and 可能导致的引号上的混乱等问题
用and 肯定没问题,呵呵
waterstony 2003-05-30
  • 打赏
  • 举报
回复
当然可以,你的语句应该没错。
xjunhua 2003-05-30
  • 打赏
  • 举报
回复
肯定可以的,没有问题的,因为我这样的做过很多
sjx0910 2003-05-30
  • 打赏
  • 举报
回复
现在是这样,比如是空的话,它就不用检索这一项!
比如年龄,性别,学科
现在年龄有数字,性别有数字,学科里面未输
dw_1.setfilter("age =" +string(age)+ "and sex like '%"+string(sex)+"%'" + "and subject like '%" + string(subject)+"%'")
现在学科里面没有数据,用like 还没什么影响,如果是等于的话就检索不出来了!
ldq_pb 2003-05-30
  • 打赏
  • 举报
回复
可以
string ls_filter
ls_filter='name ='xxx' and id=xxx'
dw_1.setfilter(ls_filter)
dw_1.filter

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧