Erro Combo - removeAllItems()

6 respostas
J

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

6 Respostas

nbluis

Qual o erro acontece?

J

O getMessage e o getCause retorna o erro ‘Null’.

Se eu postar o código ajuda?

nbluis

Muito…

J
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);
	}
RenataFA

Amigo, tem certeza de que o erro é neste comando?

Eu uso assim:

E funciona certinho! :shock:

ramilani12

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.

Criado 26 de fevereiro de 2007
Ultima resposta 27 de fev. de 2007
Respostas 6
Participantes 4