2011-11-01 123 views
0

我一直在通過論壇上的許多帖子來查看與我的問題有關的信息,但我沒有任何幫助,所以我發佈了我的問題。 我在Oracle(11g)中有一個SP,它支持返回結果集。該SP看起來像如下:從Java中的存儲過程獲取結果集

CREATE OR REPLACE 
PROCEDURE testProc 
(
    tableName IN VARCHAR2, 
    INFORMATION OUT SYS_REFCURSOR 
) AS 
    sqlQuery varchar2(1000); 
BEGIN 
    sqlQuery := 'SELECT ID||''|''||Name||''|''||Surname FROM '||tableName; 
    OPEN INFORMATION FOR sqlQuery; 
END GETVALIDATIONPECLOG; 

而且我從Java調用它的方式是

... 
CallableStatement cs = null 
cs = connection.prepareCall("{call getvalidationpeclog(?,?)}"); 
cs.setString(1, table); 
cs.registerOutParameter(2, OracleTypes.CURSOR); 
System.out.println("AS: " + cs.execute()); //Returns false 
rs = (ResultSet) cs.getObject(2); 
while (rs.next()) { 
    bw.write(rs.getString(1)); 
    bw.newLine(); 
} 
... 

但你猜怎麼着?它根本不起作用......我錯過了什麼?謝謝 !

+1

OK。對不起,我的錯。我沒有關閉BufferedWriter ...該代碼工作得很好。 – BRabbit27

回答

1

好的。對不起,我的錯。我沒有關閉BufferedWriter ...該代碼工作得很好。 OK。