在一个方法里面无法执行第3次 executeQuery的查询?帮忙看看哪里错了。。
调试的时候,当执行到第3次也就是方法中的最后一次executeQuery时,就会调整到ResultSetImpl.class中,并说source not found...public MainTaskBean getTask(String taskName) throws Exception {
rs = stmt.executeQuery("select * FROM  `主_计算任务表` where `task_name`='"+taskName+"'");

if(rs.next())
{
MainTaskBean m = new MainTaskBean(rs.getInt("id"), rs.getString("task_name"),rs.getInt("status"), rs.getInt("begin_order_id"), 
rs.getInt("end_order_id"), rs.getLong("create_time"), rs.getLong("begin_time"), 
rs.getLong("end_time"), 0, 0, rs.getFloat("process_rate"));
rs = stmt.executeQuery("SELECT time FROM  `主_操作历史` where id ="+rs.getInt("基本参数批次id")+"");
rs.next();
long time1 = rs.getLong("time");
rs = stmt.executeQuery("SELECT time FROM  `主_操作历史` where id ="+rs.getInt("基础数据批次id")+"");
rs.next();
long time2 = rs.getLong("time");

return m;
}
return null;
}

解决方案 »

  1.   

    首先想问楼主,你第二次和第三次查询对这个方法返回MainTaskBean有任何意义么?我没有看到
    在第三次执行rs.getInt的时候,之前的rs因为执行了select time所以说其数据已经发生了变更,因此再查rs.getInt("基础数据批次")就已经没有办法查到了。改成下面的代码试试
    public MainTaskBean getTask(String taskName) throws Exception {
            rs = stmt.executeQuery("select * FROM  `主_计算任务表` where `task_name`='"+taskName+"'");
            
            if(rs.next())
            {
                MainTaskBean m = new MainTaskBean(rs.getInt("id"), rs.getString("task_name"),rs.getInt("status"), rs.getInt("begin_order_id"), 
                        rs.getInt("end_order_id"), rs.getLong("create_time"), rs.getLong("begin_time"), 
                        rs.getLong("end_time"), 0, 0, rs.getFloat("process_rate"));
                int basicVarId=rs.getInt("基本参数批次id");
                int basicVarData=rs.getInt("基础数据批次id")
                rs = stmt.executeQuery("SELECT time FROM  `主_操作历史` where id ="+basicVarId);
                rs.next();
                long time1 = rs.getLong("time");
                rs = stmt.executeQuery("SELECT time FROM  `主_操作历史` where id ="+basicVarData);
                rs.next();
                long time2 = rs.getLong("time");
                
                return m;
            }
            return null;
        }
      

  2.   


    谢谢!我知道错在哪了。
    对TaskBean是有作用的,只是我没有贴出来怕程序太长