Ir para conteúdo
Fórum Script Brasil
  • 0

Popular uma combobox com valores de uma coluna SQL


romulomsn

Pergunta

Prezados, preciso criar uma interface usando javafx que puxará vários valores de uma coluna SQL para comboboxes específicas.

Sou iniciante e não encontrei muitos tutoriais sobre isto especificamente, no fim das contas consegui apenas um retalho de informações de fontes diferentes.

Segue minha ultima tentativa de aplicar o que pedi:

@FXML
private void build(){
DaoTab daotab = new DaoTab();
String SQL = "SELECT area from dbo.RRR";
list = FXCollections.observableArrayList();
try{
ResultSet rs = comando.executeQuery(SQL);
for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++){
//We are using non property style for making dynamic table
final int j = i;
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1));
col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
@Override
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});

tableview.getColumns().addAll(col);
System.out.println("Column ["+i+] ");
}
while(rs.next()){
//Iterate Row
ObservableList<String> row = FXCollections.observableArrayList();
for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++){
//Iterate Column
row.add(rs.getString(i));
}
System.out.println("Row [1] added "+row );
list.add(row);

}

carea.setItems(list);

}catch(Exception e){
e.printStackTrace();
System.out.println("Error on Building Data");
}
}

Grato!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Fala amigo!

Tenha cuidado aqui com a forma de conexão, até porque você não está vendo minha classe ConexaoBD. Mas como o seu problema é popular a combo, imagino que conexão com o banco você já tenha.

Faz um select aí como tu sempre faz. E pra popular a combobox, usa um while pra adicionar items.

private void populateCombo(){
        try{
            Connection con = ConexaoBD.createConnection();
            String sql = "SELECT * FROM \"alunos\" ORDER BY \"nome\"";
            PreparedStatement stm = con.prepareStatement(sql);
            ResultSet rs = stm.executeQuery();
            
            while(rs.next()){
                String name = rs.getString("nome");
                jComboBox1.addItem(name);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }
Editado por rafacarvalhido
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...