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

时间:2011-10-07 15:55:11

标签: 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);


                }


}
...

所以我需要你清楚的看到问题究竟是什么?任何有用的评论表示赞赏

1 个答案:

答案 0 :(得分:2)

请尝试使用ResultSet rs = callableStatement.executeQuery();代替boolean rs=callableStatement.execute();行。