StringBuffer buffer = new StringBuffer();
   buffer.append("select T_REGION_KEY,T_REGION_NAME,T_REGION_BITS  from TBREGION where ");
   if(strRegionname!= null && !strRegionname.equals("")){
       buffer.append("T_REGION_NAME like '%"+ strRegionname+ "%' ");
   }
   if(strRegionkey!= null && !strRegionkey.equals("")){
       buffer.append("T_REGION_KEY like '%"+ strRegionkey+ "%'");
   }
   String sql = buffer.toString();    rs = stmt.executeQuery(sql);  
    我这段代码  能实现  两个字段 输入任意一个的 模糊查询       我现在想实现 同时输入两个字段  如果正确查询出来
不正确 就把列表清空    这段java代码 我不是很懂   请懂的朋友 帮我加一个  谢谢

解决方案 »

  1.   

    你这个难道不可以同时输入两个字段?也可以吧,要实现精确查询就把like %这些换成=,另外where后2个条件怎么连个and都没有
      

  2.   

       if(strRegionkey!= null && !strRegionkey.equals("")&& strRegionname!= null && !strRegionname.equals("")){
           buffer.append("T_REGION_KEY like '%"+ strRegionkey+ "%' and T_REGION_NAME like '%"+ strRegionname+ "%'");
       }我这么加对么?  但是系统报错了啊
      

  3.   

    if(strRegionname!= null && !strRegionname.equals("")){ 
          buffer.append("T_REGION_NAME like '%"+ strRegionname+ "%' "); 
      
          if(strRegionkey!= null && !strRegionkey.equals("")){ 
              buffer.append("and T_REGION_KEY like '%"+ strRegionkey+ "%'"); 
          } 
     } else if(strRegionkey!= null && !strRegionkey.equals("")){ 
          buffer.append("T_REGION_KEY like '%"+ strRegionkey+ "%'"); 
     } 
    不妨试试
      

  4.   

    把 sql 打印出来 ,然后 到 数据库里先查一下