参见jdk得文档 java.sql.Statement
By default, only one ResultSet object per Statement object can be open at the same time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. 
一个Statement同时只能打开一个ResultSet,如果再次执行查询,那么前一个ResultSet就会被关闭
当你查询到test2的时候test1就被关闭了,程序当然会出错

解决方案 »

  1.   

    我也遇到过这个问题,你的两次查询可以用一个sql语句来实现
      

  2.   

    你的两次查询可以用一个sql语句来实现是什么意思?
      

  3.   

    一定要用2次同时查询的话,可以用PrepareStatement p=Connection.prepareStatement(String sql);p.executeQuery();你自己看看PrepareStatement这个类的用法。好像可以实现,用了好久我自己也有点忘记了。还是自己写的连接池比较好。XD
      

  4.   

    怀疑你的第二个sql语句有问题,跟踪一下,或直接在数据库客户端执行一下,看看能不能顺利执行,主要看有没有bidman字段