我想知道如果我没有关闭它,是否可以关闭ResultSet?我有一个ResultSet是关闭异常但我确信我没有关闭任何地方的ResultSet.
我所做的确切是我使用ResultSet执行SELECT查询然后我使用相同的ResultSet,因为它被此方法调用:
public Object getValueAt( int row, int column )
throws IllegalStateException {
// ensure database connection is available
if ( !dbConnection.isConnectedToDatabase() )
throw new IllegalStateException( "Not Connected to Database" );
// obtain a value at specified ResultSet row and column
try {
getResultSet().absolute( row + 1 );
return getResultSet().getObject( column + 1 );
} // end try
catch ( SQLException sqlException ) {
System.out.println("Exception from here dude");
sqlException.printStackTrace();
} // end catch
return ""; // if problems, return empty string object
} // end method getValueAt
那么,另一个问题:有没有办法确保打开ResultSet?
第三个问题:可能是问题因为我从未关闭ResultSet.
关闭ResultSet有什么意义?
编辑:这是在一个名为DBConnection的类的构造函数中创建语句的方式:
Class.forName(driver);
// connect to database
connection = DriverManager.getConnection(url, username, password);
// create Statement to query database
statement = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY );
//connection ok
connectedToDatabase=true;
每当我想执行语句时,就会创建ResultSet.