试试用trim()方法
if(pa.Sex!=null&&(!pa.Sex.trim().equals("")))
               sql=sql+" and Sex ='"+pa.Sex+"'";

解决方案 »

  1.   

    pa是什么东西?
    不懂
    学习
    up
      

  2.   

    你的程序是怎么写的?
    贴出来看看,大家帮你分析一下!
    生成SQL的那一部分.
      

  3.   

    你应该区分一下性别是否有值(不等于null或' '),
    如有值,你的sql是没问题的;
    但为null或' '时,这个sql就不对了,要重新组织,不能在where中有性别的查询语句。
    加个if判断一下就ok了,很简单的,试试吧!
      

  4.   

    <option value='  '> </option>
    应该为:''而不是:' '
      

  5.   

    select 默认请况下选中了第一项,所以在你的程序选中了<option value='  '> </option>
    你可以把上边改为<option value=''> </option>或者干脆删掉这一个!
    或者加函数trim().