pessoal, sou novo aqui e também iniciante no JAVA. Alguém poderia me auxiliar dizendo como faço para que um ComboBox inicie com um valor recebido do BD
Estou utilizando o Eclipse (Callisto) e MySql. Abaixo segue como estou preenchendo o ComboBox. Estou usando uma classe de conexão padrao e não sei como esse Combo já inicie com um valor e ainda faça o preenchimento com o restante dos dados.
Desde já agradeço.
private void selecionarSituacaoPes() {
// abre a conexão...
conexaoSituacaoPes = new ConexaoCb();
conexaoSituacaoPes.conectar();
try {
Statement st = conexaoSituacaoPes.conn.createStatement();
ResultSet rs = st.executeQuery("SELECT sit_descricao FROM situacao WHERE sit_tipo = 1");
while (rs.next()) {
// mostra o resultado como quiser... Nesse caso todos os nomes de clientes selecionados aparecerão num jComboBox...
cbSituacaoPes.addItem(rs.getString("sit_descricao"));
}
rs.close();
st.close();
}
catch(SQLException e) {
// informa os erros caso ocorram
e.printStackTrace();
}
// fecha a conexão
conexaoSituacaoPes.desconectar();
}
Hehehehe…
Fera, parece que eu conheço esse método, rsrsrsrs…
Fui eu quem escrevi o método no qual você se baseou… Escrevi para um colega do guj que tinha quase a mesma dúvida que você… Até os comentários estão intactos.
Bom saber que te ajudou…
Mas se eu entendi você quer listar no comboBox os valores de uma coluna do banco de dados e depois visualizar um valor específico no comboBox…
Se for isso mesmo então a dica do amigo diodom vai funcionar perfeitamente, desde que você implemente depois da listagem no comboBox…
Tipo assim:
Imaginemos que você fez uma consulta e obteve o nome do cliente e armazenou esse nome numa variável do tipo String e agora você precisa selecionar no comboBox que lista todos os nomes dos clientes aquele nome específico que foi obtido e armazenado na variável…
private void selecionarSituacaoPes() {
// valor atribuído à variável String com o nome do cliente obtido...
String nomeCliente = "LINDOÉLIO LÁZARO";
conexaoSituacaoPes = new ConexaoCb();
conexaoSituacaoPes.conectar();
try {
Statement st = conexaoSituacaoPes.conn.createStatement();
ResultSet rs = st.executeQuery("SELECT sit_descricao FROM situacao WHERE sit_tipo = 1");
while (rs.next()) {
cbSituacaoPes.addItem(rs.getString("sit_descricao"));
// quando terminar a listagem o comboBox seleciona o nome do cliente obtido anteriormente...
if (rs.last()) {
cbSituacaoPes.setSelectedItem(nomeCliente);
}
}
rs.close();
st.close();
}
catch(SQLException e) {
e.printStackTrace();
}
conexaoSituacaoPes.desconectar();
}
Pronto! Está feito!
“Isto fica feliz em lhe ser útil”
Um abraço!
Linkel, muito obrigado pelo seu código. Estava procurando algo assim há algum tempo e sua solução caiu como uma luva. Agora tenho a oportunidade de agradecer sua ajuda: “VALEU!”
Vou explicar melhor minha necessidade:
Há uma tela onde aquele combo é usado para auxiliar no preenchimento de um cadastro. Há uma tabela só com os valores possíveis para ele. Quando há alteração neste cadastro, o combo deve ser populado com os valores possíveis para ele mas, no valor inicial deve ser preenchido o dado que vem desse cadastro.