好像在ireport中的 sql查询条件中不能用 like 及in 作为条件
用like的问题
我在在设计器是查询工具中中用select * from customer where cus_name like '%${name}%'
运行出错dori.jasper.engine.JRException: Error preparing statement for executing the report query :
如果用select * from customer where in cus_name ${name}
运行编译正常,但在jsp中传递值时,出现如下问题
当值是一个aaa,正常,当值是一个'aaa','bbb'时,却不能输出数据.
这是为何??

解决方案 »

  1.   

    好像在ireport中的 sql查询条件中不能用 like 及in 作为条件
    用like的问题
    我在在设计器是查询工具中中用select * from customer where cus_name like '%${name}%'
    运行出错dori.jasper.engine.JRException: Error preparing statement for executing the report query :
    如果用select * from customer where in cus_name ${name}
    运行编译正常,但在jsp中传递值时,出现如下问题
    当值是一个aaa,正常,当值是一个'aaa','bbb'时,却不能输出数据.
    这是为何??
      

  2.   

    没有用过ireport,要不你试试select * from customer where cus_name like '%$P!{name}%'
      

  3.   

    select * from customer where cus_name like '%'+$P{name}+'%'
    不行的话俺也不清楚
    -_-!
      

  4.   

    这个是sql语句的问题。你传进去的是带单引号的字符串,要把一个单引号变成两个单引号才行。所以你传参数进去之前首先应该处理里面,看看字符串里面有没有带单引号,单引号要特殊处理。