我按照下面的操作
1.打开数据库。
2.执行SQL语句,获得ResultSet。
3.关闭数据库。
那么,这个ResultSet还能使用吗?还能进行遍历吗?简单代码如下:
if (this.connection == null)
{
  this.connection = DriverManager.getConnection(this.connectionString, this.connectionName, this.connectionPassword);
}if (this.preparedStatement != null)
{
  this.preparedStatement.close();
  this.preparedStatement = null;
}
this.preparedStatement = connection.prepareStatement(sql);ResultSet resultSet = this.preparedStatement.executeQuery();if (this.connection != null)
{
  this.connection.close();
  this.connection = null;
}resultSet.next();

解决方案 »

  1.   

    关闭连接后resultSet不可用了,用CachedRowSet替代即可!
      

  2.   

    if (this.connection == null) 

      this.connection = DriverManager.getConnection(this.connectionString, this.connectionName, this.connectionPassword); 
    } if (this.preparedStatement != null) 

      this.preparedStatement.close(); 
      this.preparedStatement = null; 

    this.preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = this.preparedStatement.executeQuery(); if (this.connection != null) 

      this.connection.close(); 
      this.connection = null; 
    } resultSet.next();干嘛这样写 这样在resultSet.next();前已经关闭了不行的
      

  3.   

    resultSet.next();应该放在关闭链接的前面
      

  4.   

     this.connection.close(); resultSet.next();连接关闭后,ResultSet就不可以用了
      

  5.   

    resultSet.next();
    把这段程序执行结束后再关闭;
    楼上说的都对`