我在 a.jsp这样写
<input type=text name="item" class='' style="width:173px" " value="">
然后在 B页面这样
  String item=request.getParameter("item");
然后执行sql语句
 String sql="SELECT top 200 item 编码 FROM [ERP-SQL].[LSyteLine7_App].[dbo].[item] WHERE item like '"+item+"'  ";
当我想执行模糊查询时 比如 item=01010000% 就不会得出结果,如果item=010100001 就能得到一个结果。带 % 传递值就会出现问题 好像!
有谁知道怎么解决吗?

解决方案 »

  1.   

    没太明白。不过首先你要了解
    like中
    数据%
    %数据
    %数据%的区别
      

  2.   

    这个我知道呀~如果sql语句这样写
    String sql="SELECT top 200 item 编码 FROM [ERP-SQL].[LSyteLine7_App].[dbo].[item] WHERE item like '%"+item+"%'  "; 
    就可以模糊查询,在页面输入时不用输入 "%"
    但是我想在页面上输入一个比如“0101%” 查询出所有0101开头的item,改如何做?
      

  3.   

    判断吧。
    String sql="SELECT top 200 item 编码 FROM [ERP-SQL][LSyteLine7_App].[dbo].[item] "
    if(需要模糊查询){
    sql+="WHERE item like '%"+item+"%'  ";
    }else if(需要头匹配){
    sql+="WHERE item like '"+item+"%'  ";
    }... ...