1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro no SQL - A instrução não retornou um conjunto de resultados.

Estou tendo esse erro ao executar um SELECT.

08-Dec-2014 09:38:02.529 SEVERE [http-nio-8084-exec-128] br.com.hjsystems.dao.CuponDao.getListaNota null com.microsoft.sqlserver.jdbc.SQLServerException: A instrução não retornou um conjunto de resultados. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:408) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285) at br.com.hjsystems.dao.CuponDao.getListaNota(CuponDao.java:200) at org.apache.jsp.in_005fcupon_jsp._jspService(in_005fcupon_jsp.java:111) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:724)

Segue o Procedimento:

public List getListaNota(String Filtro, String Pesquisa, String unem, String dia, String mes, String ano, String tipo) {
        String sql = "DECLARE   @UNEM_ID INT\n"
                + "        , @DIA     INT\n"
                + "        , @MES     INT\n"
                + "        , @ANO     INT\n"
                + "        , @TIPO    VARCHAR(100)\n"
                + "        , @VALOR   DECIMAL(18,2)\n"
                + "        \n"
                + "SET @UNEM_ID = "+unem+"\n"
                + "SET @DIA     = "+dia+"\n"
                + "SET @MES     = "+mes+"\n"
                + "SET @ANO     = "+ano+"\n"
                + "SET @TIPO    = '"+tipo+"'\n"
                + "SET @VALOR   = '0'\n"
                + "\n"
                + "DECLARE @DCFS TABLE (DCFS_ID INT\n"
                + "                    , DCPG_DT_PAGAMENTO DATETIME)\n"
                + "\n"
                + "INSERT INTO @DCFS\n"
                + "  SELECT DCFS.DCFS_ID\n"
                + "       , DCPG_DT_PAGAMENTO = MAX(DCPG_DT_PAGAMENTO)\n"
                + "    FROM DOCUMENTOS_FISCAIS DCFS\n"
                + "         INNER JOIN DOCUMENTOS_PAGAMENTOS DCPG ON DCPG.DCFS_ID = DCFS.DCFS_ID\n"
                + "         INNER JOIN (SELECT DISTINCT DCFS_ID\n"
                + "                       FROM ITENS_FATURADOS\n"
                + "                      WHERE ITFT_CFOP IN ('5405','5102','6405','6102')\n"
                + "                      )ITFT ON ITFT.DCFS_ID = DCFS.DCFS_ID                                 \n"
                + "   WHERE DCFS.UNEM_ID = @UNEM_ID \n"
                + "     AND DAY(DCPG_DT_PAGAMENTO)   = @DIA  \n"
                + "     AND MONTH(DCPG_DT_PAGAMENTO) = @MES\n"
                + "     AND YEAR(DCPG_DT_PAGAMENTO)  = @ANO     \n"
                + "     AND OPCM_ID IS NULL\n"
                + "     AND IsNull(DCPG_DECRICAO,'A FATURAR') = @TIPO \n"
                + "     AND DCFS.DCFS_COD_SIT <> 2\n"
                + "   GROUP BY DCFS.DCFS_ID     \n"
                + "     \n"
                + "INSERT INTO @DCFS\n"
                + "  SELECT DISTINCT DCFS.DCFS_ID\n"
                + "       , DCPG_DT_PAGAMENTO = MAX(DCFS_DT_DOC)\n"
                + "    FROM DOCUMENTOS_FISCAIS DCFS\n"
                + "         LEFT JOIN DOCUMENTOS_PAGAMENTOS DCPG ON DCPG.DCFS_ID = DCFS.DCFS_ID\n"
                + "         INNER JOIN (SELECT DISTINCT DCFS_ID\n"
                + "                       FROM ITENS_FATURADOS\n"
                + "                      WHERE ITFT_CFOP IN ('5405','5102','6405','6102')\n"
                + "                      )ITFT ON ITFT.DCFS_ID = DCFS.DCFS_ID                                 \n"
                + "   WHERE DCFS.UNEM_ID = @UNEM_ID \n"
                + "     AND DAY(DCFS_DT_DOC)   = @DIA  \n"
                + "     AND MONTH(DCFS_DT_DOC) = @MES\n"
                + "     AND YEAR(DCFS_DT_DOC)  = @ANO  \n"
                + "     AND OPCM_ID IS NULL\n"
                + "     AND DCPG.DCFS_ID IS NULL\n"
                + "     AND IsNull(DCPG_DECRICAO,'A FATURAR') = @TIPO \n"
                + "     AND DCFS.DCFS_COD_SIT <> 2  \n"
                + "   GROUP BY DCFS.DCFS_ID        \n"
                + "\n"
                + "--LISTAGEM\n"
                + "SELECT DISTINCT DCFS.DCFS_NUM_DOC \n"
                + "     , DCFS.DCFS_DT_DOC\n"
                + "     , DCFS.DCFS_ID\n"
                + "     , DCFS.DCFS_VL_DOC\n"
                + "     , DCFS.DCFS_VRL_PAGO\n"
                + "     , DCFS.DCFS_VALETROCA \n"
                + "     , DCFS.DCFS_VALEPRESENTE\n"
                + "     , DCPG_DT_PAGAMENTO\n"
                + "  FROM DOCUMENTOS_FISCAIS DCFS\n"
                + "       INNER JOIN @DCFS tDCFS ON tDCFS.DCFS_ID = DCFS.DCFS_ID\n"
                + " WHERE DCFS.DCFS_TIPO_DOC_ECF = 'NF'                             \n"
                + "ORDER BY DCFS.DCFS_ID";

        PreparedStatement ps = null;
        ResultSet rs = null;
        System.out.println(sql);
        try {
            ps = connection.prepareStatement(sql);
            rs = ps.executeQuery();
            List<Cupon> listaCupon = new ArrayList<Cupon>();
            while (rs.next()) {
                Cupon cp = new Cupon();
                cp.setDCFS_DT_DOC(rs.getDate("DCFS_DT_DOC"));
                cp.setDCFS_ID(rs.getInt("DCFS_ID"));
                cp.setDCFS_NUM_DOC(rs.getInt("DCFS_NUM_DOC"));
                cp.setDCFS_VL_DOC(rs.getDouble("DCFS_VL_DOC"));
                cp.setDCFS_VRL_PAGO(rs.getDouble("DCFS_VRL_PAGO"));
                cp.setDCFS_VALEPRESENTE(rs.getDouble("DCFS_VALEPRESENTE"));
                cp.setDCFS_VALETROCA(rs.getDouble("DCFS_VALETROCA"));
                cp.setDCPG_DT_PAGAMENTO(rs.getDate("DCPG_DT_PAGAMENTO"));
                listaCupon.add(cp);
            }
            return listaCupon;
        } catch (SQLException ex) {
            Logger.getLogger(CuponDao.class.getName()).log(Level.SEVERE, null, ex);
        }

        return null;
    }

Observação: Se eu rodar o SQL direto no Server Managment funciona CORRETAMENTE

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.