Erro ao passar dados do banco para um vetor

14 respostas
L

Bom dia , estou com um erro ao tentar pegar uma linha de código do banco e passar para um vetor. e o erro aponta pra esse metodo, se alguem puder me ajuda desde já agradeço.

Tenho um tabela que quando eu seleciono uma linha e Clico no botão editar deveria abrir uma outra janela com os dados atuais do Banco , mas quando eu clico em Editar acontece o Erro.

public String[] edita(int id) throws SQLException{
          
        
        String dados[] = new String[12];
        String query = "select * from funcionario INNER JOIN endereco ON funcionario.fkEndereco = endereco.idEndereco WHERE funcionario.codfuncionario=" + id ;
        
        
        try{
            
            rs = stmt.executeQuery(query);                   
             while(rs.next()){
                 dados[0] = "" + rs.getInt("codfuncionario");
                 dados[1] = "" + rs.getString("nome");
                 dados[2] = "" + rs.getString("cpf");
                 dados[3] = "" + rs.getString("rg");
                 dados[4] = "" + rs.getString("telefone");
                 dados[5] = "" + rs.getDate("datanascimento");
                 dados[6] = "" + rs.getString("email");
                 dados[7] = "" + rs.getString("funcao");                 
                 dados[8] = "" + rs.getInt("fkEndereco");
                 dados[9] = "" + rs.getInt("idEndereco");
                 dados[10] = "" + rs.getString("endereco");
                 dados[11] = "" + rs.getString("cidade");
                 dados[12] = "" + rs.getString("uf");
             }
    
        }catch(SQLException ex){
                System.err.println(ex.getMessage());
                
            }finally{
            stmt.close();
        }
        
    return dados;
    }

Esse é o erro que aparece

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at persistencia.FuncionarioDAO.edita(FuncionarioDAO.java:157)
	at vizualizacaoFuncionario.janelaEditarFuncionario.<init>(janelaEditarFuncionario.java:29)
	at vizualizacaoFuncionario.janelaConsultarFuncionario.editarContato(janelaConsultarFuncionario.java:299)
	at vizualizacaoFuncionario.janelaConsultarFuncionario.jButton3ActionPerformed(janelaConsultarFuncionario.java:202)
	at vizualizacaoFuncionario.janelaConsultarFuncionario.access$200(janelaConsultarFuncionario.java:26)
	at vizualizacaoFuncionario.janelaConsultarFuncionario$3.actionPerformed(janelaConsultarFuncionario.java:97)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Novamente desde já agradeço .

14 Respostas

drsmachado

O que tem na linha 157 de FuncionarioDAO?

at persistencia.FuncionarioDAO.edita(FuncionarioDAO.java:157)
E

Fora o NullPointerException, que a gente só vai conseguir diagnosticar quando você mostrar a sua outra classe (onde está ocorrendo o problema), já vá se preparando que você vai tomar outro erro.
É que você definiu um array de 12 strings, e quando você cria um array de 12 strings, os índices vão de [0] até [11].
Você está usando a posição [12]… portanto, você tem de dimensionar o array como [13], não [12] (ou se você for supersticioso, pule uma posição e defina o array como [14] :slight_smile:

L

drsmachado , é o finaly . O codigo que eu mostrei é da classe do FuncionarioDAO ,

L

entanglement , nossa kkk , realmente eu não sabia disso , pensava que era daquele jeito que eu fiz.

drsmachado

stmt é nulo.
Onde você instancia esse objeto?

L
Statement stmt;

Na própria Class FuncionarioDAO .

drsmachado

luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

L

drsmachado:
luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

Não é questão de ser tonto, creio que você também já passou por essa fase, por que não nasceu sabendo de tudo. Como eu informei no meu tópico, meu JAVA não é dos melhores , e estou procurando aperfeiçoar cada vez mais. Entendi a pergunta sim, apenas me confundir ! Creio que não instancie o Statement. E como seria a Instanciação do Statement ?

A

drsmachado:
luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

Desnecessário

drsmachado

Aqui e aqui e aqui.
Não nasci sabendo, mas nunca fui preguiçoso a ponto de não pesquisar, de não procurar e ficar perguntando e esperando cair do céu.
Se você não entende a pergunta, significa que não estudou, que não leu, que não foi atrás, não procurou se informar.
Não sei se você trabalha ou não, mas uma dica, se for a uma entrevista, ao menos seja sincero quando te perguntarem algo que não sabe, diga claramente que não sabe e não tente mentir fingindo ser um espertão.

drsmachado

Artur Martini:
drsmachado:
luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

Desnecessário


E, lógico, a tua resposta foi extremamente importante e fundamental para a resolução do problema do sujeito, não foi? Provavelmente tu sejas da mesma laia que ele, não?
Se está devendo pra ele, paga em dinheiro.

A

drsmachado:
Artur Martini:
drsmachado:
luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

Desnecessário


E, lógico, a tua resposta foi extremamente importante e fundamental para a resolução do problema do sujeito, não foi? Provavelmente tu sejas da mesma laia que ele, não?
Se está devendo pra ele, paga em dinheiro.

Tudo tem um “porque”, e agora eu entendi porque eu entrei no tópico.

Quem precisa de ajuda é voce.

Entre no link abaixo, talvez ajude:
Ajuda

Se o problema persistir, pode tentar essa outra ajuda, aqui não tem erro!
Ajuda2

Abraços amigo.

FelipeWM

O guj é um ótimo fórum, mas com pessoas como esse drsmachado é que estragam o universo de aprendizado Java. Altamente arrogante e se acha o “grande” programador. Uma dica amigo, procure aprender sobre vc mesmo ao invés de achar q sabe de algum assunto para explicar de maneira imbecil a alguem.

Abraço.

L

drsmachado:
Artur Martini:
drsmachado:
luizneres15:
Statement stmt;

Na própria Class FuncionarioDAO .


Você entendeu a pergunta ou se fez de tonto?
Eu perguntei onde instancia e não onde declara.
Na linha que você apontou você está declarando.
Releia o livro de onde você tirou isso e veja onde está o erro.

Desnecessário


E, lógico, a tua resposta foi extremamente importante e fundamental para a resolução do problema do sujeito, não foi? Provavelmente tu sejas da mesma laia que ele, não?
Se está devendo pra ele, paga em dinheiro.

Em poucas palavras eu tenho nojo de pessoas como esse drsmachado, e dispenso qualquer ajuda que venha de você e nem precisa entrar nesse tópico, por favor ! Pessoas como você pode até ser bem sucedidas na vida mas vai ser sempre sozinha , solitária !

Criado 12 de julho de 2013
Ultima resposta 14 de jul. de 2013
Respostas 14
Participantes 5