2013-05-21 24 views
1

Я должен выполнить этот SQL-код:Java JDBC Exec процедура с SQL заявления

exec procedure(param, param, param, param) 

select * from bla_bla_table; 

commit; 

И получить ResultList от этого запроса.

Я попытался сделать это следующим образом:

CallableStatement stmt = connection.prepareCall("{call procedure(param,param,param,param)}"); 
stmt.execute(); 

Как я могу вставить SQL заявление select * from bla_bla_table; здесь, прежде чем commit получить ResultSet. Я пробовал много способов сделать это ... но ничего не помогает.

+0

u хотите получить документы, используя процедуру? –

ответ

4

Вы попробовали?

connection.setAutoCommit(false); // Disable Auto Commit 
CallableStatement stmt = connection.prepareCall("{call procedure(param,param,param,param)}"); 
stmt.execute(); 

Statement stmt2 = connection.createStatement(); 
ResultSet rs = stmt2.executeQuery("select * from bla_bla_table"); // Result set for Query 

connection.commit(); 
+0

О, чувак, ты классный! Я немного новичок в JDBC, поэтому ваш ответ был очень полезен для меня! Tnx! –

1

Добавить этот код после выполнения кода.

PreparedStatement prep = connection.prepareStatement(string); 
ResultSet rs = prep.executeQuery(); 
// now iterate the resultset. 

Прежде всего, вы должны убедиться, что вы выполняете транзакцию, установив для параметра autocommit соединение значение false.

connection.setAutoCommit(false); 
Смежные вопросы