在一个方法里面无法执行第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;
}
调试的时候,当执行到第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;
}
解决方案 »
- struts2 package 问题
- JDK1.5和1.6的区别 求解!
- 如何用javaMail发送电子邮件
- JavaScript一个题目
- 小问题!!求助!!!
- 进东方学学JAVA 8600元 值不值?
- 紧急求教:在编译时遇到以下的错误提示,请问是应该如何办?
- 关于用tomcat4.1和jboss3.0.1发布EJB(tomcat安装在一个机器上,jboss安装在别一个机器上)
- 在线等马上可结解决分可再加:取日期报错,以前在resin服务运行正常
- Struts基本问题 请求释疑,多谢!
- java 使用加密xml连接到远程数据库
- 大神们呐,客户端是CXF用服务端axis提供的WSDL生成的,现在需要在客户端每次调用服务前清除下soapheader,这样提高调用效率,怎么弄?急救急救
在第三次执行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;
}
谢谢!我知道错在哪了。
对TaskBean是有作用的,只是我没有贴出来怕程序太长