setfilter()搞不懂了,想问一下

时间:2022-01-28 18:00:50
我照做了一个复合查询窗口,查询全部时
is_return='1=1'
w_jbxxxg.dw_4.setfilter(is_return)
w_jbxxxg.dw_4.filter()
再retrieve
能出全部,但不明白,为什么is_return='1=1'会是全部,别外,用单个条件查时,一切正常,但使用复合条件查时,就会有提示框说  expecting true/false expression.
请问这是怎么回事,先谢了! 

10 个解决方案

#1


1=1当然是全部

复合条件查询,使用and或者or

#2


你没有指定过滤的条件当然是全部

至于出现错误提示,那么应该是你的条件表达式写错了!

#3


1=1 为什么是全部

别外,复合条件好像并没有错,内容如下:sfzh like '%2%' and xm like '%a%'
is_return=sfzh like '%2%' and xm like '%a%'
w_jbxxxg.dw_4.setfilter(is_return)
w_jbxxxg.dw_4.filter()

然后就有提示框了

#4


1难道不等于1吗?哈哈
如果是1=2那么一条数据都不会有了

#5


哦,这样啊,我还以为是一种特殊参数呢,那第二个问题呢

别外,复合条件好像并没有错,内容如下:sfzh like '%2%' and xm like '%a%'
is_return=sfzh like '%2%' and xm like '%a%'
w_jbxxxg.dw_4.setfilter(is_return)
w_jbxxxg.dw_4.filter()

然后就有提示框了

#6


多个连续like在filter中很容易出错的,还是用检索参数吧,速度也比filter快

#7


is_return=sfzh like '%2%' and xm like '%a%'

你这这语句没有报错吗??

而且我看你这个sfzh是字符串还是数据型啊,数字型的可不能这样写

is_return ="sfzh like '%2%' and xm like '%a%'"  这样可以吗

#8


你的第二个问题可以用括号解决,,把AND左右的表达式用括号括起来就可以了。

具体原因不明。可以是优先级的问题。

#9


(sfzh like '%2%') and (xm like '%a%')才可以,and运算符两侧必须都是BOOLEAN型值

#10


谢谢各位!

#1


1=1当然是全部

复合条件查询,使用and或者or

#2


你没有指定过滤的条件当然是全部

至于出现错误提示,那么应该是你的条件表达式写错了!

#3


1=1 为什么是全部

别外,复合条件好像并没有错,内容如下:sfzh like '%2%' and xm like '%a%'
is_return=sfzh like '%2%' and xm like '%a%'
w_jbxxxg.dw_4.setfilter(is_return)
w_jbxxxg.dw_4.filter()

然后就有提示框了

#4


1难道不等于1吗?哈哈
如果是1=2那么一条数据都不会有了

#5


哦,这样啊,我还以为是一种特殊参数呢,那第二个问题呢

别外,复合条件好像并没有错,内容如下:sfzh like '%2%' and xm like '%a%'
is_return=sfzh like '%2%' and xm like '%a%'
w_jbxxxg.dw_4.setfilter(is_return)
w_jbxxxg.dw_4.filter()

然后就有提示框了

#6


多个连续like在filter中很容易出错的,还是用检索参数吧,速度也比filter快

#7


is_return=sfzh like '%2%' and xm like '%a%'

你这这语句没有报错吗??

而且我看你这个sfzh是字符串还是数据型啊,数字型的可不能这样写

is_return ="sfzh like '%2%' and xm like '%a%'"  这样可以吗

#8


你的第二个问题可以用括号解决,,把AND左右的表达式用括号括起来就可以了。

具体原因不明。可以是优先级的问题。

#9


(sfzh like '%2%') and (xm like '%a%')才可以,and运算符两侧必须都是BOOLEAN型值

#10


谢谢各位!