java ResultSet 如何获取多个返回的table的数据

如图我执行了系统的存储过程,获取了当前数据库的空间信息,我想要图中下面一个结果集,就是reserveddataindex_sizeunused9216KB7632KB83... 如图

我执行了系统的存储过程,获取了当前数据库的空间信息,我想要图中下面一个结果集,就是
reserved data index_size unused
9216 KB 7632 KB 832 KB 752 KB
这一行结果,在ResultSet该如何获取呢?我用.net 写的时候,可以用ds.Tables[0].Rows[i][1].ToString()这个方面获取下面一个返回结果集的数据,但是现在用java 做开发,还真不知道该如何获取,百度找遍都找不到,希望高手们赐教。
展开
 我来答
kongxianghe123
2013-07-01 · TA获得超过236个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:116万
展开全部
你这个思路不是很好:干嘛要一个resultset返回两个表的数据?resultset就是一个sql的数据集啊,你要两个表数据库在DAO层里面先把resultset的数据都转化成实体bean,然后把bean传出去啊,用list集合吧那些bean加进去不就行了嘛,你这么设计不是很凌乱吗,换个思路吧
oliverpp
推荐于2017-12-15 · TA获得超过988个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:647万
展开全部
ResultSet rs = ......; //查询语句略
while(rs.next()) {
    String reserved = rs.getString(1); //第一列
    String data = rs.getString(2); //第二列
    String indexSize = rs.getString(3); //第三列
    String unused = rs.getString(4); //第四列
}


不一定是String类型,要对应你表字段的类型,我这里只是举例

追问
大神,可能是我描述不准确,令你误解,我的意思是,现在我执行的存储过程返回了两张结果集表,分别为A,B两张表。用resultset只能拿到A表的结果,我想知道怎么拿到B表的结果。
追答
返回两个结果集说明存储过程有两个OUT
CallableStatement cstmt = conn.prepareCall("{call sp_spaceused(?,?)}");
用registerOutParameter方法注册结果类型,不是很熟悉MSSQL,你要自己查一下类型了
cstmt.registerOutParameter(1,返回表代表的类型);
cstmt.registerOutParameter(2,返回表代表的类型); //两个问号都要注册
然后执行execute()
rs1 = cstmt.getObject(1);
rs2 = cstmt.getObject(2); //获取两个表
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
简讯快递
2013-06-30 · TA获得超过1202个赞
知道小有建树答主
回答量:1926
采纳率:33%
帮助的人:507万
展开全部
试试把两个结果集组合成一个结果集返回!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式