Listar em um JcomboBox o resulta de um select

Olá pessoal,

Primeiro quero dizer que estou muito satisfeito de ter conhecido este espaço,
e por ter pessoas que estão dispostas a ajudar pricipalmente os novatos.

Agora vamos ao que interresa

:? -please!!! como eu faço para que no JcomboBox eu visualise o resultado de sum select * from …?

Bom, levando em consideracao que voce ja sabe mexer com banco de dados em Java ( se nao souber, de uma lida no tutorial do Guilherme, aqui no guj mesmo ), eh bem simples adicionar os itens no combo: basta usar o metodo
addItem.

Por exemplo, digamos que seu objeto de ResultSet se chame “rs”. nesse caso, para adcionar todos os campos “nome”, da para fazer algo assim:

while (rs.next()) {
    meuJComboBox.addItem(rs.getString("nome"));
    // codigo codigo...
}

e assim por diante. De uma olhada na documentacao em

http://java.sun.com/j2se/1.4/docs/api/javax/swing/JComboBox.html#addItem(java.lang.Object)

pois ha alguns “detalhes” a serem considerados.

[]'s
Rafael Steil

Rafael valeu!!!

Agora eu estou com outro problema!!!

A compilação foi um sucesso porem quando eu tento rodar aparece a seguinte mensagem:

:j2sdk1.4.1injavaw.exe -classpath “C:j2sdk1.4.1jrelib
t.jar;C:gac1RecebJ” Formulario
java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:625)
at java.awt.Container.add(Container.java:307)
at Formulario.<init>(Formulario.java:224)
at Formulario.main(Formulario.java:299)
Exception in thread “main” Finished executing

Alguem sabe me diser o que pode estar acontecendo???

Dificil dizer assim. Isso geralmente acontece quando voce tem uma referencia mas nao criou o objeto ainda, ou esta tentando usar alguma variavel nao inicializada ( ou seja, coisas que estao como null ). Poste as linhas de codigo dos arquivos Formulario.java e Container.java onde esta dando o erro.

Ah, e tente executar com “java” ao inves de “javaw” ( nao sei se faz diferenca, mas vai saber… )

[]'s
Rafael

(nota: partes de codigo desnecessarias foram removidas)

Rafael, segue abaixo o codigo:

public static void main2 (String args[])
{
	String url = "jdbc:odbc:RecDados";
	String query = "SELECT * FROM Transportadora";
	
	try {
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		Connection con = DriverManager.getConnection (url, "", "");
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery(query);
		rs.close();
		stmt.close();
		con.close();
		JComboBox TRANSPORTADORA1 = new JComboBox();
		
		while(rs.next()) {
			TRANSPORTADORA1.addItem(rs.getString("Cod_transportadora"));
		}
	}
	catch (SQLException ex) {
		String qualErro;
		qualErro = "Problemas no acesso ao banco de dados !
		As mensagens retornadas são:"+
		"
		SQLState: " + ex.getSQLState() +
		"
		Mensagem: " + ex.getMessage() +
		"
		Código do erro: " + ex.getErrorCode();
		//Erro e = new Erro(this, qualErro);		
	}
	catch (java.lang.Exception ex) {
		String qualErro;
		qualErro = "O driver JDBC:ODBC não foi encontrado !
		A mensagem de erro é:"+
		"
		Mensagem: " + ex.getMessage();
		//Erro e = new Erro(this, qualErro);
		//e.setVisible(true);
	}
}

Gilson, nao precisava ter mando o codigo fonte todo. Bom, mas em relacao ao problema, o que acontece eh que voce esta dando um con.close(), stmp.close() e rs.close() ANTES do while(), o qual interage com o objeto rs, sendo que isso eh errado. Voce so pode fechar as conexoes quando nao precisr mais dela.

Outra coisa, eh bom voce verificar se o getString() nao retorna null, pois as vezes o campo pode estar vazio, por exemplo.

[]'s
Rafael Stiel