我这样做是为了将结果集读取到哈希图数组中:
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnName(i),rs.getString(i));
}
list.add(row);
}
但是当我执行类似"从联系人中选择 ID 作为contact_id"之类的查询时,我显然得到了 id=>#### 而不是所需的contact_id。最好的方法是什么?这个话题很难搜索。:P 谢谢!
知道了。答案是搜索"获取列别名":
http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html
更改为:
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnLabel(i),rs.getString(i));
}
list.add(row);
}
效果很好。