jababean中的一段代码:
 public int isPass(String Sql) {        int temp = -10;
        ResultSet result = null;
        try {
            result = sqlQuery(Sql);
            while (result.next()) {
                
                //temp = 1;  //根据temp的值转向不同的页面  实现身份验证
             String status=result.getString(3);
             System.out .print("String Status >>>>"+status);
             
             if(status.equals("经理") ){ temp=1;}
              //if(status.equals("经理") )  { temp=1;}
             //if(status.equals("销售员") ) {temp=2; }
             //if(status.equals("采购员") ){ temp=3;}
             //if(status.equals("a") )  {temp=0;}
           
            }
        } catch (Exception e) {
            System.out.print("result Exception:>>" + e.getMessage());
        }
         System.out .print(" return temp is"+temp);
        return temp;
    }调试的输出结果:
 String Status >>>>经理       return temp is-10

解决方案 »

  1.   

    因为这个是一个循环,可以你最后取出来的status值不是“经理”
      

  2.   

    result = sqlQuery(Sql);的结果只有一条记录,不可能有循环
    即使有循环存在, String status=result.getString(3);
                 System.out .print("String Status >>>>"+status); //该句的输出是经理
                 
                 if(status.equals("经理") ){ temp=1;} //那么temp就应该是1,
      

  3.   

    String status=(result.getString(3)).trim();//去掉空格,看是不是这个问题呀