jComboBox e MYSQL

1 resposta
Ziguifrid

Eu tenho duas ComboBox e quando um seleciona o código do fornecedor na outra ComboBox é setado o fornecedor automaticamente relacionado à aquele código. Fiz isso mais não está muito legal. Eu quero que quando eu abro a ComboBox e vou passando pelos códigos automaticamente a outra ComboBox vai mostrando os fornecedores relacionadoas à estes códigos.

Do jeito que fiz até agora.

jComboBox_Cod_Fornecedor.setEditable(true);
       jComboBox_Fornecedor.setEditable(true);
      try{
    if(uma_vez_cod_for==0){//esta variável evita que apareça dados repetidos na jcomboBox.
    Comandos_DAO cmd = new Comandos_DAO();
    List<Fornecedor> listaf = (List<Fornecedor>) cmd.adicionar_itens_combox_cod_fornecedor();

Iterator<Fornecedor> it = listaf.iterator();
    while(it.hasNext()){
        Fornecedor e = it.next();
        int codigo_fornecedor = e.getCodigo_fornecedor();
         jComboBox_Cod_Fornecedor.addItem(codigo_fornecedor);
     }
    }
   uma_vez_cod_for=1;

//quando usuario escolhe um código de fornecedor automaticamente aparece na combobox o nome da empresa ligada a este código.
Object combo_codigo_fornecedor = jComboBox_Cod_Fornecedor.getSelectedItem();

Fornecedor f = new Fornecedor();
f.setCodigo_fornecedor2(combo_codigo_fornecedor);

Comandos_DAO cmd2 = new Comandos_DAO();

Object combo_emp_for = cmd2.volte_empresa(f);

jComboBox_Fornecedor.setSelectedItem(combo_emp_for);

//System.out.println(combo_emp_for);

}//TRY

catch (Exception e){
System.out.println(e.getMessage());
}
 jComboBox_Cod_Fornecedor.setEditable(false);
        jComboBox_Fornecedor.setEditable(false);
public List<Fornecedor> adicionar_itens_combox_cod_fornecedor() throws Exception{

sql = "select codigo_fornecedor from fornecedor";
PreparedStatement ps = con.prepareStatement(sql);
 ResultSet rs = ps.executeQuery();

  while(rs.next()){
   int valor = rs.getInt("codigo_fornecedor");
   Fornecedor c = new Fornecedor();
   c.setCodigo_fornecedor(valor);
   jtablefornecedor.add(c);

 }
  ps.close();
 con.close();
return jtablefornecedor;

}
public Object volte_empresa(Fornecedor f)throws Exception{

  sql = "select empresa from fornecedor where codigo_fornecedor = ? ";
  PreparedStatement ps = con.prepareStatement(sql);
  ps.setObject(1,f.getCodigo_fornecedor2());
  ResultSet rs = ps.executeQuery();

while(rs.next()){
  empresa2 = rs.getString("empresa");

}
return empresa2;

}

Se alguém estiver alguma idéia melhor aí me dá uma luz. Valeu.

1 Resposta

viniciusgundim

Amigo é bem tranquilo, no action performed do seu combo, jogue o código lá, segue o código:

try{ con.execultesql("select * from fornecedor '"+combo_cod_fornecedor.getSelectedItem()+"'"); con_hosp.resultset.first(); combo_fornecedor.addItem(con.resultset.getString("fornecedor_nome")); } catch(Exception erro){ //JOptionPane.showMessageDialog(null, "NÃO FOI POSSÍVEL APONTAR O FORNECEDOR"); }

Qualquer dúvida poste ai!!

Criado 15 de junho de 2010
Ultima resposta 15 de jun. de 2010
Respostas 1
Participantes 2