私はいくつかの out パラメータで 1 つの sp を呼び出しています。私の要件に従って、ある条件で ResultSet を使用し、他の条件で out パラメータを使用する必要があります。しかし、executeQuery() を使用すると、JZ0R0: ResultSet has already been closed エラーが発生します (Sybase 15 を使用しています)。
次に例を示します。
Connection conn = ~~;
CallableStatement cstmt = conn.prepareCall("{call my_sp(?)");
cstmt.registerOutParameter(1,java.sql.Types.INTEGER);
ResultSet rs = cstmt.executeQuery();
私がやろうとすると、今のコードの下に、
int res = cstmt.getInt(1);
次に、以下のように ResultSet オブジェクトを反復しようとすると、ResultSet クローズ エラーが発生します。
ResultSetMetaData rsmd = rs.getMetaData();
出力パラメーター値を取得してから ResultSet オブジェクトを反復処理する方法、またはその逆の方法はありますか?