pstmt = connection().prepareStatement(sql);
pstmt.executeQuery();
是查询一个并返回一个表的内容,现在我想要查询存储过程,一次返回多个表
java 里面是用什么来实现一次性存储多个数据集的集合呢
存储过程类似这种的,我只是举个例子
CREATE PROCEDURE tables
declare @name
declare @pass
AS
BEGIN
select * from users where names=@name and pass=@pass
select * from book
select * from admin
END
GO
.net 用这个来接收 DataSet
java 用什么来接收呢????
能不能像.net 那样
DataSet.table[0]
DataSet.table[1]
DataSet.table[2]
的分别获取数据集中的某一个表呀...
菜鸟请教,望高手赐教
------解决方案--------------------------------------------------------
如果用rms的话只能实现简单的数据存储
如:Cvs.rms.put("isOpenJuQing", new int[] { isOpenJuQing });
ScnGame.isOpenJuQing = Cvs.rms.get_i("isOpenJuQing")[0];
至于其它的话。未尝试过,不宜开口
------解决方案--------------------------------------------------------
要定义多个输出参数作为返回,可以去Google下关于:JDBC 存储过程 多数据集。
但是这样堆内存开销会增大很多,而且完全没看出楼主要这么做的必要性。
你做多个Select或者一个合并的结果集会更合理些。
------解决方案--------------------------------------------------------
- Java code
Connection conn = null; CallableStatement cstmt = null; ResultSet rs=null; cstmt = conn.prepareCall("{call proName(?)}"); cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);//参数索引 rs = (ResultSet) cstmt.getObject(1);