2
我只是试图调用从服务器(getStat)存储的功能,那就是寻找这样的:现在,这里PostgreSQL用于JDBC和存储过程(功能):ResultSet的
create type stat as (type text, location text, number int);
create function getStat() returns setof stat as 'select distinct table1.type, table1.location, table1.number from table1, table2 where table2.finding=10 order by number desc;' language 'sql';
是JDBC代码:
CallableStatement callable = null;
String storedProc = "{call getStat(?, ?, ?)}";
try {
callable = connection.prepareCall(storedProc);
callable.registerOutParameter(1, java.sql.Types.VARCHAR);
callable.registerOutParameter(2, java.sql.Types.VARCHAR);
callable.registerOutParameter(3, java.sql.Types.INTEGER);
boolean results = callable.execute();
System.out.println(callable.getString(1));
System.out.println(callable.getString(2));
System.out.println(callable.getInt(3));
while(results){
ResultSet rs = callable.getResultSet();
while(rs.next()){
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getInt(3));
}
//rs.close();
results = callable.getMoreResults();
}
好了,现在的问题: 当我叫它,它只是打印出第一行,全散装的,应当printend。是啊,这是明确的,因为我执行下面的代码:
System.out.println(callable.getString(1));
System.out.println(callable.getString(2));
System.out.println(callable.getInt(3));
但我在while循环一样的... ...并显示仅此而已。
也许问题是显而易见的事情,但我缺少:(
谢谢!
这就是为什么我喜欢stackoverflow。你有一个程序化的问题?寻找快速和有效的帮助? 感谢马没有名字,工作很好:) – user1252280
这对我真的很有帮助,谢谢! –