如何有效地获取像ResultSetMetaData这样的"AS"列名?



我这样做是为了将结果集读取到哈希图数组中:

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);
        }

效果很好。

相关内容

  • 没有找到相关文章

最新更新