解决方案 »

  1.   

    String sql1 = "{call getBillResult(?)}";
            CallableStatement statement = null;
            for (String strings : files) {
                 statement = conn.prepareCall(sql1);
                 statement.setString(1, strings);
                 rst = statement.executeQuery();
     while(rset.next()) {
      System.out.println(rst.getString(1)+"-"+rst.getString(2));
    }
            }
            statement.close();
    改为这样试试
      

  2.   

    while(rst.next()) {
                  System.out.println(rst.getString(1)+"-"+rst.getString(2));
                }
    上面多打了个e
      

  3.   


    同样的结果,还是提示:该语句没有返回结果集。报错是在 rst = statement.executeQuery();
      

  4.   

    是你存储过程定义的问题吧,按照你的这种方式就相当于直接select了,还用存储过程吗
      

  5.   


    存储过程不知道有没有问题。我存储过程有一个输入参数,里面会根据条件执行不同的select语句,但查出结构大体相同。存储过程是肯定要用的,看似查询出的结果是很简单,但是里面判断很多,都写了200行左右,不是直接的select case when就能解决的。主要是不知道存储过程有没有返回值,没有定义output或者return的参数
      

  6.   


    是的。客户端是有查询出的结果的,上面的那张图就是客户端的效果。
    测试代码的报错完整信息如下:
    com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:394)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:283)
    at com.msq.util.DBUtil.main(DBUtil.java:42)
      

  7.   

    推荐你看看这篇文章http://wenku.baidu.com/link?url=n9DRPfwU8M84212ENMqAUzzLfYM6pKn2Ij9e_v9C9PQiDPpaL4Nvy8Ig6gNHZO8XgyNKxQrBUTfQg7-tZLBEwCp-WZR_AxU6yTiZ8G3z9am,感觉你的情况应该是使用游标的部分
      

  8.   

    1、打印下那个System.out.println(sql1),看看是什么
    2、把这个sql1写死(客户端执行的那段SQL脚本)看看情况
      

  9.   


    谢谢关注!问题解决了。是自己存储过程的代码不够严谨,对有问题的数据之前直接return的,现在输出的时候就没有结果了
      

  10.   


    谢谢关注!问题解决了。是自己存储过程的代码不够严谨,对有问题的数据之前直接return的,现在输出的时候就没有结果了