日期:2014-05-20  浏览次数:21314 次

急,急,在线等!如何从jdbc查询的结果集中的数据放入到String数组中?
用jdbc从数据库表中查询到几条记录,从得到的结果集中,我想要把每一行的值取出放入到一个String数组中,再把所有的String数组放入到一个list中,请问该如何实现,希望有具体的代码!非常感谢!

------解决方案--------------------
一般每一行记录封装成实体的对象再放到list里的啊,没听说要放到数组里的
------解决方案--------------------
查询结果返回的是集合。数组支持的是基本数据类型。这个怎么放?

你需求的功能是什么样子的?换别的方式解决吧。不一定非要用数组把。


------解决方案--------------------
public List query(String sql) {
Vector content = new Vector();
Connection conn = null;
Statement stmt = null;
try {
logger.debug("查询语句:"+sql);
//System.out.println("查询语句:"+sql);
conn = this.getConnection();
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsMeta = rs.getMetaData();
while (rs.next()) {
int columnNum = rsMeta.getColumnCount();
String[] field = new String[columnNum];
String fieldValue = null;
for (int i = 1; i <= columnNum; i++) {
//fieldValue = rs.getString(rsMeta.getColumnName(i));
fieldValue = rs.getString(i);
if (fieldValue == null) {
fieldValue = "";
}
field[i - 1] = fieldValue;
}
content.add(field);
}

} catch (SQLException e) {
logger.error(e.toString());
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
this.closeConnection(conn);
} catch (SQLException e1) {
logger.error(e1.toString());
e1.printStackTrace();
}
}
return content;
}