ResultSet的替代项,用于存储数据库中的数据



我有一个数据库,目前我正在使用PreparedStatement使用SQL语句从数据库中调用数据。然而,我知道一旦PreparedStatement完成,ResultSet就会关闭。

我需要一个替代方案(结果集关闭),因为每次用户单击按钮时都会运行Prepared Statement,并且Prepared语句的输入可以更改,但resultset不能接受任何新值。

任何想法都将不胜感激。

在关闭PreparedStatement之前,您应该将数据从ResultSet复制到自己的对象中。

例如:

preparedStatement = conn.prepareStement("select * from people");
resultSet = preparedStatement.executeQuery();
//copying the value
while(resultSet.hasNext()){
    String name = resultSet.getString("name");
    String surname = resultSet.getString("surname");
    //Person is a class of your own
    Person person = new Person(name,surname); 
    //people is a Collection of Person created outside this loop
    people.add(person); 
}

然后,确保关闭finnally块中的PreparedStatement,并使用people集合中的对象,而不是直接使用ResultSet

相关内容

  • 没有找到相关文章

最新更新