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下。
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下。
你换成&&的时候是不是,emp_zw =2啊,走的是else if里的,打个断点跟一下。
另外最好常量放到前面,不会出异常
"4".equals(emp_zw)||"3".equals(emp_zw)用debug跟踪一下吧
是因为换成&&这个IF就永远走不进去,当然就不会报错了。。
说明这个IF里面的代码有问题
应该不是|| &&的问题,其他逻辑上有问题
String emp_zw=""+session.getValue("g_emp_zw");
很明显 emp_zw!=3也不=4,很可能没取到
换成&&逻辑上就有问题了
现在逻辑没问题,是代码有问题
||换成&&
如果按你所说,我认为是你的条件满足了"或"的条件后走到了if之中,而你的数据库程序代码中有错误导致的你不能运行通过!!!!
我的意见是你好好查看一下你的数据库操作有没有错误,问题应该出在你if语句中的问题
把||换&&? 那么你那个if永远不可能执行了
应该你是if里面的代码块有问题. 有可能你那个值根本就没取到呢? 设个断点跟踪下或者把你的错误信息贴上来再看吧.