setDefinitionExpression()出错后就不能再过滤了

是这样的,要做一个过滤器的功能,使用的是setDefinitionExpression()对图层进行过滤,sql语句由用户输入,正常的sql输入是可以筛选的,但是非正常操作后,后续就不能过滤了。
比如:
var strsql=“(DZ<>'这里')”;
lyr.setDefinitionExpression(strsql);       //正常过滤
 
var strsql=“乱输入”;
lyr.setDefinitionExpression(strsql);       //出错
 
var strsql=“(DZ<>' ')”;
lyr.setDefinitionExpression(strsql);       //不能过滤
 
就是一个错误的sql语句会导致后续的筛选不了,请问有没有大神遇到这样的情况的?最后怎么解决的?
 
 
 
 
 
已邀请:

敖婧

赞同来自:

尝试在执行setDefinitionExpression前判断一下sql语句的情况

要回复问题请先登录注册