Problemas com retorno de uma classe

0 respostas
T

Prezados Srs.

Estou com um probleminha aqui. Tenho uma classe que retorna uma StringBuffer, até ai tudo bem, só que quando entra no select ele simplesmente não executa o select, como posso debugar a query no código????? abaixo segue o código:

package estoque;

import java.io.*;
import java.sql.*;
import java.util.*;
    
public class Relatorio{
    
    public static String geraRelatorio(int cd_especie){
    
    StringBuffer html = new StringBuffer();
    String retorno = null;
    
    html.append("<h1>"+cd_especie+"</h1>");
       html.append("<table border=\"1\" width=\"750\" cellspacing=\"1\" cellpadding=\"2\" align=\"center\">"+
        "<tr>"+
        "<td width=\"100%\" colspan=\"7\" bgcolor=\"#000099\" align=\"center\">"+
        "<font color=\"#FFFFFF\"><b>Relatório de Estoque</b></p></td>"+
        "</tr>"+
        "<tr>"+
        "<th width=\"16%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Código</b></font></th>"+
        "<th width=\"16%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Descrição</b></font></th>"+
        "<th width=\"17%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Unidade</b></font></th>"+
        "<th width=\"17%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Qtd. Atual</b></font></th>"+
        "<th width=\"17%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Ult. Consumo</b></font></th>"+
        "<th width=\"17%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Cons. Médio</b></font></th>"+
        "<th width=\"17%\" bgcolor=\"#800000\"><font color=\"#FFFFFF\"><b>Duração</b></font></th>"+        
        "</tr>");
              
        try {
      
      //Cria conexão com a base de dados
         
     Connection con = DataConnect.connectDb();
      
      Statement stmt = con.createStatement();
             
      String sql = "select * from dbamv.v_estoque_atual where cd_especie = "+cd_especie;
   
      ResultSet rs = stmt.executeQuery(sql);
             
      //faz primeira busca no banco de dados
                      
        while (rs.next()){
   
      int cd_produto = rs.getInt("cd_produto");
        String ds_produto = rs.getString("ds_produto");
        String ds_unidade = rs.getString("ds_unidade");
        int qt_atual = rs.getInt("qt_atual");
        int qt_ult_cons = rs.getInt("qt_ultimo_consumo");
        int qt_cons_medio = rs.getInt("qt_consumo_medio");
        
        int dura = qt_atual/qt_cons_medio;
        
html.append("<tr>"+
            "<td width=\"16%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+cd_produto+"</b></font></td>"+
            "<td width=\"16%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+ds_produto+"</b></font></td>"+
            "<td width=\"17%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+ds_unidade+"</b></font></td>"+
            "<td width=\"17%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+qt_atual+"</b></font></td>"+
            "<td width=\"17%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+qt_ult_cons+"</b></font></td>"+
            "<td width=\"17%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+qt_cons_medio+"</b></font></td>"+
            "<td width=\"17%\" bgcolor=\"#FFCC00\"><font color=\"#000000\"><b>"+dura+"</b></font></td>"+
            "</tr>");
        
   }
      rs.close();
   
   //tenta fechar a conexão com o banco de dados
      
   try {
            
    con.close();
      
      } catch(Exception e)  {
           
      e.printStackTrace();
            
      }
      
     //pega erro (se houver na query)
            
  	 } catch(Exception e) {
      
     e.printStackTrace();
     
   	}
   
    //fecha tabela do relatório
    
    html.append("<tr><td colspan=\"7\"><font color=\"#000000\"><b>Vermelho: XXXX - Laranja: XXXX - Verde: outros</b></font></td></tr>");
    html.append("</table>");
    retorno = html.toString();
   
    retorno = html.toString();
 
          
   return retorno;
    
    
    }    
    
}

Só queria saber como retornar uma exception se minha query estiver errada. Leve em consideração que o select é feito em uma view chamada "v_estoque_atual" e que funciona se eu usar o mesmo select direto no banco?!?!?!?
Agradeço a ajuda!

Criado 1 de junho de 2006
Respostas 0
Participantes 1