java - MS SQL JDBC - SQLServerCallableStatement -execute() 返回 false

标签 java jdbc

我已经编写了应该从我的 servlet 调用 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);


                }


}
...

所以我需要你重新审视问题到底是什么?任何有用的评论都会受到赞赏

最佳答案

请尝试使用 ResultSet rs = callableStatement.executeQuery(); 而不是 boolean rs=callableStatement.execute(); 行。

关于java - MS SQL JDBC - SQLServerCallableStatement -execute() 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7689781/

相关文章:

java - Oracle JDBC 选择 WHERE 返回 0

java - Webdriver - 页面对象模型和 Maven 找不到类

java - c++ 服务器 htons 到 java ntohs 客户端转换

java - 当主方法调用时,方法是否从上到下执行?

java - 无法连接到数据库 [db] MySql Play Frameworks 2.5.10

java - 名称需要 LATIN 内部形式超过 30 个字节?

java - 数字格式异常: null

java - JAVA中链表转换为循环链表

java - jdbc4 通信异常

java - JDBC SQL 准备好的语句调用函数但出现表达式错误