Problemas com sintaxes em conexão com banco de dados

3 respostas
J

Sei que tenho incomodado bastante o fórum ultimamente :frowning: , mas me desculpem, peguei um trabalho da faculdade que, teoricamente, era pra ser feito em grupo, mas estou fazendo sozinho e está bem difícil. Vou explicar meu problema rapidamente

Eu faço cadastro de encomendas, o máximo de encomendas que posso fazer em um dia são 6.
Na hora de cadastrar uma nova encomenda, eu devo verificar qual dia (exceto o dia da consulta e os que já passaram) tem menos de 6 encomendas com data de entrega marcada. Devo retornar a data mais próxima com menos de 6 encomendas com data de entregue marcada.

Parece que tenho problemas na hora de converter datas do tipo java.sql.Date pra java.util.Date (essa última eu uso no meu programa). Abaixo o código:

public Date getEncomendasAbertas() throws SQLException{
        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        Date date = new Date();
        PreparedStatement stat = connection.prepareStatement(
                "SELECT dataEntrega, count(numero) as nEnc FROM encomenda WHERE status = ? and dataEntrega<>? GROUP BY dataEntrega ORDER BY dataEntrega;");
        stat.setString(1, "aberto");
        stat.setDate(2, new java.sql.Date(date.getTime()));
        int resultado = 0;
        ResultSet res = stat.executeQuery();
        boolean verifica = true;
        while(res.next() && verifica==true){
            resultado = res.getInt("nEnc");
            if(resultado<6){
                verifica = false;
            }
        }
        if(resultado==0){
            date.setDate(date.getDay()+1);
           return date; 
        }
        else{
            return (java.util.Date)res.getDate("dataEntrega");
        }
    }

Erro do tipo: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

3 Respostas

ribclauport

Bom acredito que o problema esta na seu objeto connection, provavelmente ele está nulo!

o ideal é voce debugar o método e verificar em qual linha está “estourando a exception”, ou colar a pilha de erro que “saiu” no console!
Lembre amigo, voce precisa copiar a pilha de erros e colar ela aqui!!! se não é muito difícl saber porém faça um teste coloque essa linha como primeira do código:

Desta forma voce olha depois se apareceu o endereço de memória, do objeto connection, acho que é esse cara que ta nulo!!!

Testa ae, e coloca a pilha de erros aqui para a gente verificar!!

Abraço.

J

Então amigo, obrigado pela ajuda mas o objeto connection não está nulo. Eu postei apenas a parte do programa que está defeituosa, outros métodos de leitura e inserção no banco de dados (usando o mesmo objeto Connection) estão funcionando perfeitamente. Acredito mesmo que o problema é na sintaxe do método visto. Por via das dúvidas, aqui está o retorno do print do objeto Connection:

encomendas_placas.ConectDB@13d3f62

Continuo contando com a ajuda :wink:

ViniGodoy

Tópico movido para o fórum de persistência.

Criado 9 de junho de 2012
Ultima resposta 10 de jun. de 2012
Respostas 3
Participantes 3