ストアドプロシージャを3回呼び出そうとしています。私がコードより下を走ったとき、ストアされたprocへの最後の呼び出しからのデータはresultSet.getRows()
の中にしか表示されません。前の2回のストアドプロシージャ呼び出しのデータはresultSetに表示されません。フォローは私のコードです。私は間違ったことをしていますか?誰も助けることができますか?Java用のresultSetでデータが集計されないrxObservable
String currentPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
String priorPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
String todayPeriod = String.format("{call %s.testProc(?)}", params.getJsonObject("databaseInfo").getString("dbName"));
JsonArray jsonArray = new JsonArray();
database.dbObject().getConnectionObservable().subscribe(
connection -> {
Observable<ResultSet> resultSetObservable = connection.callWithParamsObservable(currentPeriod, new JsonArray().add(params.getString("testParams")),jsonArray).
flatMap(result -> connection.callWithParamsObservable(priorPeriod, new JsonArray().add(params.getString("testParams")), jsonArray).
flatMap(result -> connection.callWithParamsObservable(todayPeriod, new JsonArray().add(params.getString("testParams")),jsonArray);
resultSetObservable.subscribe(resultSet -> {
handler.handle(ReportUtils.parseSQLResult(resultSet.getRows()));
},error -> {
error.printStackTrace();
},connection::close);
},err -> {
err.printStackTrace();
}
);
クールです。私の解決策からあなたの答えに来ている場合は、stackoverflowのルールで、あなたは答えとして私を受け入れる必要があります:) –