如何获得sql存储过程中临时表产生的数据集

create proc getTempRS

@val1 int

     as

   CREATE TABLE #t(x INT);

   INSERT INTO #t VALUES (@val1);

     select * from #t

--------------------------------------------

//调用代码

Connection conn = DriverManager.getConnection(dbURL, userName, userPwd);

CallableStatement cs = conn.prepareCall("{call getTempRS(?)}");

cs.setInt(1, 20);

boolean bResult = cs.execute();

ResultSet rs = cs.executeQuery();



-------------------------------------------

这样执行后,得不到rs,请问各位有什么方法能得到临时表的结果集?问题是不是出在临时表的作用范围?如果是,有办法解决吗?
问题补充:
数据库是sql server 2000

把boolean bResult = cs.execute();去掉试试呢

lz照着下面试试看,如果你是oracle
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;

public class JDBCDemo {
private boolean useOracleQuery = true;
private String driver = "oracle.jdbc.driver.OracleDriver";
private String url = "jdbc:oracle:thin:@";
private String port = "1521";
private String oracleQuery = "begin ? := sp_get_stocks(?); end;";
private String genericQuery = "{ call ? := sp_get_stocks(?) }";
private Connection conn = null;
public JDBCDemo(String host, String db, String user, String password)
throws ClassNotFoundException, SQLException {

    url = url + host + ":" + port + ":" + db;

    try {
        Class.forName(driver);
        conn = DriverManager.getConnection(url, user, password);
    }
    catch (ClassNotFoundException ex) {
        System.out.println("Failed to find driver class: " + driver);
        throw ex;
    }
    catch (SQLException ex) {
        System.out.println("Failed to establish a connection to: " + url);
        throw ex;
    }
}

private void execute(float price) throws SQLException {
    String query = useOracleQuery ? oracleQuery : genericQuery;
    System.out.println("Query: " + query + "n");
    CallableStatement stmt = conn.prepareCall(query);
    stmt.registerOutParameter(1, OracleTypes.CURSOR);

    stmt.setFloat(2, price);

    stmt.execute();
    ResultSet rs = (ResultSet)stmt.getObject(1);

    while (rs.next()) {
        System.out.println(rs.getString(1) + "t" +
        rs.getFloat(2) + "t" +
        rs.getDate(3).toString());
    }