Mostrar dados do banco em uma JCombobox [RESOLVIDO]
9 respostas
JeanGen
Olá, estou desenvolvendo um pequeno software para uma oficina que tem como uma das funções cadastrar clientes, que está ok, e cadastrar carros. Na parte do cadastro de carros eu preciso usar a Jcombobox, para pegar o nome do cliente por chave extrangeira, e gravar o id.A princípio parece simples, mas estou me quebrando =(. Fiz a parte do DAO, as nao sei está correto, aqui vai ela:
public List<Dono> getListaDono() throws SQLException{
String sql ="SELECT id_cliente, nome_cliente FROM clientes";
PreparedStatement stmt = this.connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
List<Dono> lista_dono = new ArrayList<Dono>();
while (rs.next()) {
Dono dono = new Dono();
dono.setId_dono(rs.getLong("id_cliente"));
dono.setNome_dono(rs.getString("nome_cliente"));
lista_dono.add(dono);
}
rs.close();
stmt.close();
return getListaDono();
}
Observe que você está retornando NÃO a lista de dono, e sim o próprio método getListDono(), ou seja, ele irá executar recursivamente sem interrupção, provavelmente vai te lançar um erro de stackOver…
use:
Uma dica: segundo as convenções de boas práticas do Java, ao nomear algo, use o padrão CamelCase, e não underline, assim sua lista ficaria: listaDono.
Ok, mas Cristian, aonde eu chamo todos estes métodos? Tenho que criar uma classe só para o combo? e o select do banco? Estou quase lá, graças ao pessoal do forum!
Muito obrigado pela atenção.
CristianPalmaSola10
Primeiro eu criei a classe ComboCursoModel e na tela aonde esta o combo, na ultima linha do construtor eu coloquei
repare que nesse treecho eu ja onvoquei a minha classe que faz a consulta no banco de dados e retorna uma lista de cursos
new CursoBO().buscarTodosCursos()
no model utilizei o metodo buildListaModel para fazer um list de string que correspondem ao nome do curso, chamei o metodo no construtor
JeanGen
Captei! Vou testar quando chegar em casa de meio dia, estou no meio da aula de portugues XD.Muito obrigada, não tem idéia o quanto me ajudou, é o trabalho final do curso.