Oi Pessoal,
Estou tendo problema ao usar o removeAllItems() em uma combo, sempre retorna um erro(NULL). Preciso limpar a combo para depois carregar de novo.
Alguem pode me ajudar?
Obrigado
Oi Pessoal,
Estou tendo problema ao usar o removeAllItems() em uma combo, sempre retorna um erro(NULL). Preciso limpar a combo para depois carregar de novo.
Alguem pode me ajudar?
Obrigado
Qual o erro acontece?
O getMessage e o getCause retorna o erro ‘Null’.
Se eu postar o código ajuda?
Muito…
public void IncluirCliente(){
String sql=new String();
ResultSet rs;
PreparedStatement stmt;
try {
sql="insert into cliente(cod_cc, nome) " +
"values ('"+txtCodCliente.getText()+"', '"+ txtCliente.getText()+"')";
Conectar.conectaBanco();
stmt=Conectar.conn.prepareStatement(sql);
stmt.execute(sql);
txtCodCliente.setText("");
txtCliente.setText("");
JOptionPane.showMessageDialog(this,"Cadastro realizado com sucesso.","Inclusão concluída",JOptionPane.INFORMATION_MESSAGE);
[b]cmdCliente.removeAllItems();[/b]
ctr_cod_cliente.clear();
ctr_nome_cliente.clear();
}catch (Exception e){
JOptionPane.showMessageDialog(this,"Erro na inserção de Cliente: "+e.getMessage()+" , "+e.getCause());
Conectar.shutDown();
}
{
}
private void carrega_cliente(){
String sql=new String();
ResultSet rs;
PreparedStatement stmt;
sql="select cod_cc, nome from cliente order by nome";
try
{
cmdCliente.addItem("Selecione");
//Conecta com banco
Conectar.conectaBanco();
stmt = Conectar.conn.prepareStatement(sql);
rs = stmt.executeQuery();
while (rs.next())
{
ctr_cod_cliente.add(rs.getString("cod_cc"));
ctr_nome_cliente.add(rs.getString("nome"));
cmdCliente.addItem(rs.getString(2));
}
Conectar.shutDown();
rs.close();
}
catch(Exception e)
{
System.out.println("Erro no combo: " + e.getMessage() + " , " + e.getCause());
Conectar.shutDown();
}
//cmdCliente.setSelectedIndex(0);
}
Amigo, tem certeza de que o erro é neste comando?
Eu uso assim:
E funciona certinho! :shock:
Talvez o erro não esteja no método em questão de JComboBox:
O erro pode estar aqui:
Conectar.shutDown();
rs.close();
Qndo vc invoca o método Connection.close(); implicitamente vc está fechando ResultSet , Statement PrepareStatement e etc
Vc esta tentando fechar um objeto ResultSet que não existe mais por isso ele lança Null
Faça o seguinte inverte a ordem:
rs.close();
Conectar.shutDown();
Ao invés de usar e.getMessage() , utlize e.printStackTrace() para melhor esclarecimento do erro.