String emp_zw=""+session.getValue("g_emp_zw");
if(emp_zw.equals("4")||emp_zw.equals("3")){
art.getRs("select count(*) from over_main where sh_3='0'","");
if (rs.next()){
    ls_jb = ""+rs.getInt(1);
}
art.getRs("select count(*) from sub_main where sub_sh3='0'","");
if (rs.next()){
ls_hx = ""+rs.getInt(1);
}
}else if(emp_zw.equals("2")){.........只要||换成&&就可以通过,tomcat5下。

解决方案 »

  1.   

    把||换成&&?老大,emp_zw怎么能同时既等于4,又等于3呢?
    你换成&&的时候是不是,emp_zw =2啊,走的是else if里的,打个断点跟一下。
      

  2.   

    把session.getValue("g_emp_zw")打印出来看看
    另外最好常量放到前面,不会出异常
    "4".equals(emp_zw)||"3".equals(emp_zw)用debug跟踪一下吧
      

  3.   

    只要||换成&&就可以通过
    是因为换成&&这个IF就永远走不进去,当然就不会报错了。。
    说明这个IF里面的代码有问题
      

  4.   

    把emp_zw的值打出来看看,用debug跟踪一下
    应该不是|| &&的问题,其他逻辑上有问题
      

  5.   

    呵呵 换成&&就好了 简单的问题  搞复杂了 
      

  6.   

    PS:只要||换成&&就可以通过,tomcat5下。
    String emp_zw=""+session.getValue("g_emp_zw"); 
    很明显 emp_zw!=3也不=4,很可能没取到
      

  7.   

    ||不能换成&&
    换成&&逻辑上就有问题了
    现在逻辑没问题,是代码有问题
      

  8.   

    debug一下吧~~~这个不可能啊?||过不了&&过得了?
      

  9.   

    语法错误啊
    ||换成&&
      

  10.   

    if(emp_zw.equals("4")||emp_zw.equals("3")){ }换成&&没问题说明跳过了if,看看你if块里是不是有问题
      

  11.   

    感觉应该是逻辑问题,&&怎么可能让两个数同时满足呢
      

  12.   

    错误肯定不在那个符号上!~~~
    如果按你所说,我认为是你的条件满足了"或"的条件后走到了if之中,而你的数据库程序代码中有错误导致的你不能运行通过!!!!
    我的意见是你好好查看一下你的数据库操作有没有错误,问题应该出在你if语句中的问题
      

  13.   

    跟逻辑运算符是&&还是|| 一点关系都没有
    把||换&&? 那么你那个if永远不可能执行了
    应该你是if里面的代码块有问题.  有可能你那个值根本就没取到呢?   设个断点跟踪下或者把你的错误信息贴上来再看吧.