public static List executeQuery(String sql) throws Exception {
List rsall = new ArrayList();
Connection con = connectToDb();
Statement stmt = null;
ResultSet rs = null;
Map rsTree;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
// Object[] aa = new Object[numberOfColumns-1];
while (rs.next()) {
rsTree = new HashMap(numberOfColumns);
for (int r = 1; r < numberOfColumns + 1; r++) {
if (rs.getObject(r) == null)
rsTree.put(rsmd.getColumnName(r).toLowerCase(), "");
else
rsTree.put(rsmd.getColumnName(r).toLowerCase(), rs
.getObject(r));// toLowerCase()这个地方把列名转化为小写是为了和oracle兼容
}
rsall.add(rsTree);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return rsall; }