Pesquisando aqui no forum achei alguns topicos que ensinavam como voltar uma informação ao combox, pq acontece o seguinte tenho uma tela de busca que o usuario digita um codigo e volta a informação, no Jtext normal a invormação vem certinha mas no s combobox não está ficando na posição que eu quero, como for exemplo tem um que é de fornecedores ele não está indo para o fornecedor cadastrado.
O codigo que estou usando é:
Bota seu código inteiro ai que eu ja te ajudo…
me explica direitinho o que você quer fazer…
Willdoidao
to fazendo uma busca no banco e tentando voltar as informações para o usuario ver, segue o codigo:
busca=JT_ref.getText();busca=busca.trim();busca=busca.toUpperCase();try{// Cria e executa uma instrução SQLMeuState=conn.createStatement();}catch(SQLExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"erro de STATEMENT");}try{rs=MeuState.executeQuery("select * from arma where refe='"+busca+"';");System.out.println(rs);}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Problema de conexao: "+ex.getMessage());}try{if(rs.next()){do{JC_tipo.addItem(rs.getString("Tipo"));JC_modelo.addItem(rs.getString("Modelo"));JT_cor.setText(rs.getString("Cor"));JC_Fab.addItem(rs.getString("Fabricante"));auxiliar3=rs.getInt("Quanti");JT_qua.setText(String.valueOf(auxiliar3));auxiliar3=rs.getInt("Tamanho");JT_tam.setText(String.valueOf(auxiliar3));id=rs.getInt("Id_arma");}while(rs.next());}else{JOptionPane.showMessageDialog(null,"Não existe no Cadastro!");}}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Problema de conexão: "+ex.getMessage());}
viniciusfaleiro
Postei seu erro…rs stack
Scoobydoo
Então.... Tente Fazer Assim....
No Lugar Disso
if (rs.next()) {
do{
JC_tipo.addItem(rs.getString("Tipo"));
JC_modelo.addItem(rs.getString("Modelo"));
JT_cor.setText(rs.getString("Cor"));
JC_Fab.addItem(rs.getString("Fabricante"));
auxiliar3 = rs.getInt("Quanti");
JT_qua.setText(String.valueOf(auxiliar3));
auxiliar3 = rs.getInt("Tamanho");
JT_tam.setText(String.valueOf(auxiliar3));
id = rs.getInt("Id_arma");
}while(rs.next());
} else {
JOptionPane.showMessageDialog(null, "Não existe no Cadastro!");
}
Assim funciona.. Não tem erro nesse teu add...
O que realmente está acontecendo...
ele não adiciona o Item no ComboBox Fabricante ?????
Willdoidao
Então erro não dá não, uso um do-while pq pode ser que não aja o produto cadastrado, e com owhile não estava dando certo, mas o que preciso mesmo é que o combobox fabricante (por exemplo ) volte para o fabricante cadastrado.
Exemplo:
Se cadastrei GENERICO, quero que quando realizar a busca o combobox vá para o GENERICO contido nele, deu para entender?
Scoobydoo
Bom… Dificil entender… foi mal mesmo… eu tmb sou pitoco
Mas assim, um modo de você ir para uma position no ComboBox é por armazenando a position dele…
mas onde você realiza o cadastro… e pra que serve esse select… Eu sei que é chato mas precisamos entender isso
Willdoidao
o select serve para buscar uma determinda informação dado pelo usuario tipo ele quer pesquisar os fornecedores então ele digita o nome do fornecedor e o sistema volta as informações desse fornecedor, os campos de texto estão funcionando bem voltam a informação do banco o unico problema é os combobox que não estão voltando para a informação armazenda no banco.
eberson_oliveira
olá Willdoidao,
Experimente fazer o seguinte:
no trecho que você vai preencher o combobox do fabricante:
String fabricante = rs.getString("Fabricante");
JC_Fab.addItem( fabricante );
JC_Fab.setSelectedItem( fabricante ); //usa esse método para posicionar o combo do fabricante...
Porém, de acordo com o seu código, se o seu rs tiver n registros o fabricante exibido será aquele que estiver no último registro.
Quantos registros o seu select traz? Quantos deveria trazer? Talvez por isso não tenha alcançado o objetivo "esperado".