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);
}
}
Pior que não. Ele só cai no catch e retorna a mensagem do JOpion que coloquei
Coloquei um System.out no ‘e’ e ele retornou isso
java.lang.NullPointerException
Se cai no catch eh pq deu erro. Coloca para imprimir o stacktrace:
catch(Exception e) {
e.printStackTrace();
}
ele da esse erro:
java.lang.NullPointerException
Posta o StackTrace completo que haverá informações sobre onde aconteceu.
nome ou nome_us?
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)
O que tem na linha 200?
Tem certeza de que nome_vendedor foi inicializado?
A linha 200 é a do select.
rs = ps.executeQuery(“SELECT nome_us FROM usuarios ORDER BY nome” );
nome_vendedor é a variável do JComboBox
Então você esqueceu de inicializar o seu ps.
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);
}
}