Não consigo pegar os dados MySQL e colocar em um JComboBox [RESOLVIDO]

11 respostas Resolvido
java-se
Arthur_William

Olá bom dia, estou querendo passa apenas o atributo ‘nome’ de uma tabela usuários para um cobo box , porém não estou conseguindo. Segue o método que usei:

public void consultaVendedor(){

try{

        nome_vendedor.addItem("");
   
     
        rs = ps.executeQuery("SELECT nome_us FROM usuarios ORDER BY nome" );  
        while(rs.next())  
        { 
       
            nome_vendedor.addItem(rs.getString("nome_us"));  
        }  
        rs.close();  
        cn.close();  
    }  
    catch(Exception e)  
    {  
        JOptionPane.showMessageDialog(null,   
                "Ocorreu erro ao carregar a Combo Box", "Erro",  
                JOptionPane.ERROR_MESSAGE);  
 }

}

11 Respostas

Lucas_Camara

Dá algum erro?

Arthur_William

Pior que não. Ele só cai no catch e retorna a mensagem do JOpion que coloquei

Arthur_William

Coloquei um System.out no ‘e’ e ele retornou isso

java.lang.NullPointerException

Lucas_Camara

Se cai no catch eh pq deu erro. Coloca para imprimir o stacktrace:

catch(Exception e) {
    e.printStackTrace();
}
Arthur_William

ele da esse erro:

java.lang.NullPointerException

staroski

Posta o StackTrace completo que haverá informações sobre onde aconteceu.

nome ou nome_us?

Arthur_William

nome_us é o atributo da minha tabela no mysql, esse eu ja conferi e ta certinho .

java.lang.NullPointerException

at vendas.FrmCaixa.consultaVendedor(FrmCaixa.java:200)

at vendas.FrmCaixa.(FrmCaixa.java:79)

at principal.MenuPrincipal.btnCaixaActionPerformed(MenuPrincipal.java:285)

at principal.MenuPrincipal.access$700(MenuPrincipal.java:25)

at principal.MenuPrincipal$7.actionPerformed(MenuPrincipal.java:228)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

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:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
staroski

O que tem na linha 200?
Tem certeza de que nome_vendedor foi inicializado?

Arthur_William

A linha 200 é a do select.
rs = ps.executeQuery(“SELECT nome_us FROM usuarios ORDER BY nome” );

nome_vendedor é a variável do JComboBox

staroski
Solucao aceita

Então você esqueceu de inicializar o seu ps.

Arthur_William

Era isso mesmo e mais umas coisinhas que eu tava Vacilando rsrs. Obrigado!!!

Segue meu código :

public void consultaVendedor(){

try{
      
        String sql = "SELECT nome_us FROM usuarios ORDER BY nome_us"; 
        pst = conexao.prepareStatement(sql);
        nome_vendedor.addItem("");
   
      
        rs = pst.executeQuery(); 
        while(rs.next())  
        { 
       
            nome_vendedor.addItem(rs.getString("nome_us"));  
        }  
        rs.close();  
        cn.close();  
    }  
    catch(Exception e)  
    {  
        e.printStackTrace();
        JOptionPane.showMessageDialog(null,   
                "Ocorreu erro ao carregar a Combo Box", "Erro",  
                JOptionPane.ERROR_MESSAGE);  
 }

}

Criado 27 de agosto de 2020
Ultima resposta 27 de ago. de 2020
Respostas 11
Participantes 3