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 做开发,还真不知道该如何获取,百度找遍都找不到,希望高手们赐教。 展开
我执行了系统的存储过程,获取了当前数据库的空间信息,我想要图中下面一个结果集,就是
reserved data index_size unused
9216 KB 7632 KB 832 KB 752 KB
这一行结果,在ResultSet该如何获取呢?我用.net 写的时候,可以用ds.Tables[0].Rows[i][1].ToString()这个方面获取下面一个返回结果集的数据,但是现在用java 做开发,还真不知道该如何获取,百度找遍都找不到,希望高手们赐教。 展开
展开全部
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); //获取两个表
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试把两个结果集组合成一个结果集返回!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询