MS SQL JDBC - SQLServerCallableStatement - execute () возвращает false - PullRequest
0 голосов
/ 07 октября 2011

Я написал код, который должен вызывать процедуру MSSQL 2005 из моего сервлета. Проблема в том, что процедура ВЫБРАТЬ данные из таблицы, поэтому я хочу получить ResultSet, но набор результатов никогда не возвращается :( Я проверил процедуру с другой процедурой, и она работает, более того, привилегии подключения клиента являются dbowner, поэтому не должно быть никаких проблема с соединением, но все равно выполнение возвращает false: (

Вот код проблемы (текущее соединение подключено, я проверил):

...
    SQLServerCallableStatement callableStatement = null;
    callableStatement = (SQLServerCallableStatement) connection.prepareCall(
                        "{call "+
                        DATABASE_NAME+
                        "."+
                        SCHEMA_NAME+
                        ".select_item_proc(?,?,?)}");

                        callableStatement.setInt(1, 0);
                callableStatement.setString(2, "value1");
                callableStatement.setString(3, "value2");

           boolean rs=callableStatement.execute();

          if(rs)
          {
             ResultSet result=callableStatement.getResultSet();




                while (result.next()) {

                    String col1= result.getString(1);
                    String col2=result.getString(2);
                    System.out.print(col1+",");
                    System.out.println(col2);


                }


}
...

Так что мне нужен твой свежий взгляд, в чем проблема на самом деле? Любой полезный комментарий приветствуется

1 Ответ

2 голосов
/ 07 октября 2011

Пожалуйста, попробуйте использовать ResultSet rs = callableStatement.executeQuery(); вместо строки boolean rs=callableStatement.execute();.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...