(Resolvido) erro em consulta select

5 respostas
magemelli
Fala galera, blz? assim, tô com um problema que talvez seja a falta de alguém mais olhar e enxergar.. rsrsrs Tenho determinada consulta e ela Retorna um Null Pointer Exception,
public class daoCatalogo {

    public daoCatalogo() {
        conexao.conectar();
    }
    public List<produto> listar() throws SQLException, Exception {


        PreparedStatement ps = null;
        String instrucao="select * from catalogo";
        try {
           ResultSet rs = ps.executeQuery(instrucao);
           List<produto> ListaProd = new ArrayList<produto>();

            while (rs.next()) {

                produto prod = new produto();
                prod.setId(rs.getInt("ID"));
                prod.setNome(rs.getString("NOME"));
                prod.setQtd(rs.getInt("QTD"));
                prod.setValor(rs.getDouble("VALOR"));
                ListaProd.add(prod);
            }
            return ListaProd;
        } catch (SQLException sqle) {
            sqle.printStackTrace();
            throw new Exception("Não foi possivel encontrar Lista. \n" + sqle, sqle);


        }
    }
}

Acredito que esteja errando em alguma coisa aí, eu escrevi uma classe Conectar, que retorna um Sucesso quando conectado, e ele está conectando normal
Espero que possam me ajudar.. Valew

5 Respostas

E

Quem está inicializando a variável ps?

karh-el
magemelli:
public class daoCatalogo {

    public daoCatalogo() {
        conexao.conectar();
    }
    public Collection listar() throws SQLException, Exception {

        ArrayList produtos =new ArrayList();
        PreparedStatement ps = null;
        String instrucao="select * from catalogo";
        try {
           ResultSet rs = ps.executeQuery(instrucao);           

            while (rs.next()) {

                produto prod = new produto();
                prod.setId(rs.getInt("ID"));
                prod.setNome(rs.getString("NOME"));
                prod.setQtd(rs.getInt("QTD"));
                prod.setValor(rs.getDouble("VALOR"));
                produtos.add(prod);
            }
            return produtos;
        } catch (SQLException sqle) {
            sqle.printStackTrace();
            throw new Exception("Não foi possivel encontrar Lista. \n" + sqle, sqle);


        }
    }
}
Veja se assim funciona.
magemelli

Kra, pior que nao deu nenhum jeito...

public class CatServidor {

    daoCatalogo dao = new daoCatalogo();

    public static void main(String[] args) {

        CatServidor cs = new CatServidor();

        try {
            List<produto> prodList = cs.dao.listar();
            XMLArquivo.ExportXMLProdutos(prodList);
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (Exception e) {
            System.out.println("erro ao buscar os dados" + e);
            e.printStackTrace();
        }
}
}

Essa é a classe que chama ele, talvez ajude ... Obrigado

D

Cara, na linha 9 da sua dao, vc deixa nulo o PreparedStatement… aí logo na linha 12 vc utiliza o objeto, mas ele ainda esta nulo…

instancie corretamente a sua variavel ‘ps’, soh nao tenho o exemplo aqui, senao ja te passava…

magemelli

Fala galera, Consegui Resolver o negócio. foi só colocar:

con = conexao.getCon(); //e tirar o this.getCon(); Deu certo, valeu pela ajuda de todos…

Abração a todos

Criado 11 de setembro de 2009
Ultima resposta 14 de set. de 2009
Respostas 5
Participantes 4