Problema com função

Boa tarde meu povo!

to passando um probleminha aki e gostaria que vcs me ajudassem. Segue abaixo seguinte código:

      public static void carregaPedidos(){	
		orcamento.removeAllItems();//orcamento é um JCombobox
		orcamento.addItem("Selecione");
		sql = "SELECT ped.id_pedido, cli.nome_cli FROM pedido ped INNER JOIN clientes cli ON ped.id_cliente = cli.idcliente" +
				" WHERE ped.inativo = 0 ORDER BY ped.id_pedido DESC";
		rs = ConsultaBanco(sql);
		try {
			while(rs.next()){
				orcamento.addItem(StringUtils.leftPad(rs.getString(1), 5, "0")+" - "+rs.getString(2));
			}
		} catch (SQLException e) {			
			e.printStackTrace();
		}
	}

Quando entra a tela eu chamo a função tudo normal, porém quando eu peço para recarregar o jcombobox (somente quando tem o removeallitens, já testei sem ele e funciona como o esperado, mas claro que sem remover os ítens anteriores) ele “perde” as funções de action e de vez em quando ele nem executa o resto da função.

Alguém pode me dar uma luz no que fazer?

É um verdadeiro “antipattern” ter um método que retorna um ResultSet. O preferível é ter um método que retorna uma lista de objetos.

No seu caso, está dando problemas porque você recebe um ResultSet aberto mas não o fecha depois de usá-lo, provavelmente. E isso está bagunçando sua conexão ao banco.

Outra coisa que você provavelmente está fazendo errado é usar funções “static”. Não é errado usá-las mas normalmente têm cheiro de que a pessoa que as escreveu não entendeu o espírito da orientação a objetos.

entanglement, boa tarde!

Obrigado pela orientação, com isso vc me deu mais ideias novas, (principalmente do ResultSet) eu to aprendendo a programar sozinho e por isso to tendo certas dificuldades e não sei algumas boas práticas. Mas voltando ao meu problema, o código só da problema quando tem o removeAllItens do JCombobox. Você acha que se eu mudar esta questão do retorno o problema possivelmente pode ser resolvido?

Com em relação ao static, o próprio eclipse pediu para mudar pois dependendo do evento devo chamar esta função a partir da tela principal do sistema.