|
|
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
На SqlServer выполняю хранимую процедурку, процедура возвращает значение (проверенно что работает) PreparedStatement pstmt=... ..... ResultSet r =pstmt.executeQuery(); — на этом операторе выдает ошибку: The statement did not return a result set. Как получить результат (число)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 13:25:55 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
используйте CallableStatement::registerOutParameter для регистрации возвращаемого параметра и соотв. для получения значения параметра: CallableStatement::getInt или CallableStatement::getLong или CallableStatement::getFloat или CallableStatement::getDouble и т.д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 13:53:17 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
Сейчас так Код: plaintext 1. 2. 3. 4. 5. 6. 7. На cstmt.executeQuery(); вылетает: com.microsoft.sqlserver.jdbc.SQLServerException: The value is not set for the parameter number 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 16:37:33 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
вопросиков то у вас 12 автор"{? = call procedure(?,?,?,?,?,?,?,?,?,?,?)}" а вставляете только 11 авторcstmt.setString(1,...); ... cstmt.setDate(11,...); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 16:50:31 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
а первый для выходного параметра "? =" писать не надо? если без него то так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. На ResultSet r =cstmt.executeQuery(); вылетает com.microsoft.sqlserver.jdbc.SQLServerException: Formal parameter '@number' was defined as OUTPUT but the actual parameter not declared OUTPUT. '@number' - это первый входной параметр хранимой процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 17:08:47 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
Сразу оговорюсь, что никогда не вызывал процедуры, обычно дело ограничивалось просто запросами. Что я понял, читая про этот CallableStatement: 1) либо надо исправить вот так автор CallableStatement cstmt = conn.prepareCall("{? = call procedure(?,?,?,?,?,?,?,?,?,?,?)}"); cstmt.registerOutParameter(1, java.sql.Types.INTEGER); cstmt.setString( 2 ,...); ... cstmt.setDate( 12 ,...); // cstmt.registerOutParameter(1, java.sql.Types.INTEGER); cstmt.executeQuery(); insertid=cstmt.getInt(1); 2) либо так автор CallableStatement cstmt = conn.prepareCall("{call dbo.p_acts_i(?,?,?,?,?,?,?,?,?,?,?)}"); cstmt.setString(1,...); ... cstmt.setDate(11,...); //cstmt.registerOutParameter(1, java.sql.Types.INTEGER); ResultSet r =cstmt.executeQuery(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 17:29:05 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
Сразу оговорюсь, что никогда не вызывал процедуры, обычно дело ограничивалось просто запросами. Что я понял, читая про этот CallableStatement: 1) либо надо исправить вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 2)либо так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 17:30:29 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
Спасибо!! победила комбинация 1-го и 2-го :) параметры описал как в п.1 а результат получил так ResultSet r =cstmt.executeQuery(); if (r.next()) { insertid = r .getShort(1); } Еще в процедуре вместо Return @@IDENTITY сделал Select @@IDENTITY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 17:41:52 |
|
||
|
statement did not return a result set
|
|||
|---|---|---|---|
|
#18+
ИМХО проще всего привести саму процедуру. Есть еще такое предложение - скачай исходники jTDS (тоже jdbc-драйвера к MSSQL, если это не излишне): http://sourceforge.net/project/showfiles.php?group_id=33291 Т.е. архив jtds-1.2-src.zip. В нем есть в том числе тесты CallableStatement'а, директория src\test\net\sourceforge\jtds\test, файлы CallableStatementJDBC3Test.java, CallableStatementTest.java. Может что-нибудь подскажет, как его надо составить в твоем случае. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2007, 17:45:30 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34396835&tid=2146362]: |
0ms |
get settings: |
20ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
65ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
89ms |
get tp. blocked users: |
3ms |
| others: | 352ms |
| total: | 590ms |

| 0 / 0 |
