* Treiber, Host, User und Passwort, ueber den der Zugriff auf die
* Datenbank erfolgt.
*
- * @version $Id: Database.java,v 1.43 2003/05/06 17:37:50 zapata Exp $
+ * @version $Id: Database.java,v 1.44 2003/05/06 18:08:05 zapata Exp $
* @author rk
*
*/
o_store.add(sid);
}
}
- } catch (SQLException sqe) {
+ }
+ catch (SQLException sqe) {
throwSQLException(sqe, "selectByWhereClause");
- } finally {
+ }
+ finally {
try {
if (con != null) {
freeConnection(con, stmt);
return rs;
}
-
+/*
public ResultSet executeSql(String sql) throws StorageObjectFailure, SQLException {
long startTime = System.currentTimeMillis();
Connection connection = null;
}
}
}
-
+*/
private Map processRow(ResultSet aResultSet) throws StorageObjectFailure, StorageObjectExc {
try {
Map result = new HashMap();
}
public List executeFreeSql(String sql, int aLimit) throws StorageObjectFailure, StorageObjectExc {
+ Connection connection = null;
+ Statement statement = null;
try {
List result = new Vector();
- ResultSet resultset = executeSql(sql);
+ connection = getPooledCon();
+ statement = connection.createStatement();
+ ResultSet resultset = executeSql(statement, sql);
try {
while (resultset.next() && result.size() < aLimit) {
result.add(processRow(resultset));
catch (Throwable e) {
throw new StorageObjectFailure(e);
}
+ finally {
+ if (connection!=null) {
+ freeConnection(connection, statement);
+ }
+ }
};
- public Map executeFreeSingleRowSql(String sql) throws StorageObjectFailure, StorageObjectExc {
+ public Map executeFreeSingleRowSql(String anSqlStatement) throws StorageObjectFailure, StorageObjectExc {
try {
- ResultSet resultset = executeSql(sql);
+ List resultList = executeFreeSql(anSqlStatement, 1);
try {
-
- if (resultset.next())
- return processRow(resultset);
+ if (resultList.size()>0)
+ return (Map) resultList.get(0);
else
return null;
}
finally {
- resultset.close();
}
}
catch (Throwable t) {