比如说几个表关联查询,只返回了其中几列,如何实现返回记录列有多少个?java中,假如有这么一个查询结果:存储过程返回记录
CallableStatement cst = null;
cst.registerOutParameter(2, OracleTypes.CURSOR);
ResultSet rs = (ResultSet) stmt.getObject(2);
怎么知道rs有多少列呢请教各位了
CallableStatement cst = null;
cst.registerOutParameter(2, OracleTypes.CURSOR);
ResultSet rs = (ResultSet) stmt.getObject(2);
怎么知道rs有多少列呢请教各位了
getRow
int getRow()
throws SQLException检索当前行编号。第一行为 1 号,第二行为 2 号,依此类推。 返回:
当前行的编号;如果不存在当前行,则返回 0 last
boolean last()
throws SQLException将指针移动到此 ResultSet 对象的最后一行。 返回:
如果指针位于有效行,则返回 true;如果结果集中不存在任何行,则返回 false
先用last();再用getRow()可以得到记录总数,前提是有数据在resultSet中
List<List<Object>> listarr = new ArrayList<List<Object>>();
while(rs.next()) {
List<Object> list = new ArrayList<Object>();
for(int i=0;i<col_count;i++){
list.add(rs.getString(i));
}
listarr.add(list);
}
rs.getMetaData().getColumnName();得到列名.