本帖最后由 yuanfenzifan001 于 2011-05-18 21:30:23 编辑

解决方案 »

  1.   

    rs=stmt.executeQuery(sql);有这么写的么?executeQuery是执行PreparedStatement 对象中的SQL 
    而且你用Statement,也没有executeQuery这个API吧
      

  2.   

    public ResultSet executeQuery(String sql) 应该是这个方法中报的错误,原因解释起来应该是这样的:
    你的ResultSet对象的声明周期在你的这个方法中。换句话说你的数据库连接会话在这个executeQuery里,当这个方法结束了那么你的session会话也就结束了。所以你的这个方法的返回值不能写成ResultSet,你可以把ResultSet里的结果封装到一个对象中,再把对象放到一个List中去。我是这样写的,没试过直接return 一个ResultSet对象。