Jump to content
Fórum Script Brasil
  • 0

Popular uma combobox com valores de uma coluna SQL


romulomsn
 Share

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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);
        }
    }
Edited by rafacarvalhido
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...