Passar valor de um objeto para JTextField

4 respostas
D

Fala pessoal boa tarde
E o seguinte, estou fazendo um sisteminha aqui que o cara digita um ID e o sistema imprime as informações do veiculo no caso em JTextfield, o problema e que não estou conseguindo imprimir os valores

Segue o cod:

public void BuscaRemoverID(String idBusca){
		Veiculo veiculo = new Veiculo();
		String sql = "SELECT * FROM veiculo WHERE id = " + idBusca;

		try{
			PreparedStatement pstm = con.prepareStatement(sql);
			ResultSet res = pstm.executeQuery(sql);

			while(res.next()){

				veiculo.setModelo(res.getString("modelo"));
				veiculo.setAno_modelo(res.getString("ano_modelo"));
				veiculo.setCor(res.getString("cor"));
				veiculo.setMarca(res.getString("marca"));
				veiculo.setPreco(res.getString("preco"));
				veiculo.setAno_fabricacao(res.getString("ano_fabricacao"));
				veiculo.setRenavam(res.getString("renavam"));
			}

		}
		catch(SQLException e){
			throw new RuntimeException(e);
		}

E o evento do botao:

private void bt_ok_exclusaoActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
        		comandoDAO dao = new comandoDAO();
                        Veiculo v = new Veiculo();
                        dao.BuscaRemoverID(txt_busca_excluir.getText());
                        txt_modelo.setText(v.getModelo());
    }

So que desse modo ele nao impreme nada

Alguma luz?

4 Respostas

F

o que está faltando é vc alterar o método BuscaRemoverID, fazer ele retornar um objeto do tipo Veiculo, no caso return veiculo no final.

public Veiculo  BuscaRemoverID(String idBusca){  
Veiculo veiculo = new Veiculo();  
String sql = "SELECT * FROM veiculo WHERE id = " + idBusca;  
  
try{  
    PreparedStatement pstm = con.prepareStatement(sql);  
    ResultSet res = pstm.executeQuery(sql);  
  
    if(res.next()){  
  
        veiculo.setModelo(res.getString("modelo"));  
        veiculo.setAno_modelo(res.getString("ano_modelo"));  
        veiculo.setCor(res.getString("cor"));  
        veiculo.setMarca(res.getString("marca"));  
        veiculo.setPreco(res.getString("preco"));  
        veiculo.setAno_fabricacao(res.getString("ano_fabricacao"));  
        veiculo.setRenavam(res.getString("renavam"));  
    }  
  
}  
catch(SQLException e){  
    throw new RuntimeException(e);  
}  finaly{
  return veiculo;
}

e no seu evento

private void bt_ok_exclusaoActionPerformed(java.awt.event.ActionEvent evt) {                                                 
    // TODO add your handling code here:  
            comandoDAO dao = new comandoDAO();  
                    Veiculo v = dao.BuscaRemoverID(txt_busca_excluir.getText());  
                    if(v != null){
                         txt_modelo.setText(v.getModelo());  
                     }
}

Obs.: Siga o padrão camelCase

D

Pior e que eu ja fiz a mesma coisa, alterei o metodo para Veiculo mas mesmo assim ele nao me mostra valor nenhum
Ja fiz até para imprimir no console mas nao imprime nada

ruben_m
tente isto:
public void BuscaRemoverID(Veiculo v, String idBusca){  // não sei se tua IDBusca pertence a classe

String sql = "SELECT * FROM veiculo WHERE id = ?";  // dessa maneira tambem tratas erros tipo Sql injection
  
 try{  
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setString(1,idBusca)  
ResultSet res = pstm.executeQuery(sql);  

while(res.next()){  

v.setModelo(res.getString("modelo"));  
v.setAno_modelo(res.getString("ano_modelo"));  
v.setCor(res.getString("cor"));  
v.setMarca(res.getString("marca"));  
v.setPreco(res.getString("preco"));  
v.setAno_fabricacao(res.getString("ano_fabricacao"));  
v.setRenavam(res.getString("renavam"));  
 }  
   
}  
 catch(SQLException e){  
 throw new RuntimeException(e);  
}
ruben_m

o botão ficaria assim:

private void bt_ok_exclusaoActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: comandoDAO dao = new comandoDAO(); Veiculo v = new Veiculo(); dao.BuscaRemoverID(v,txt_busca_excluir.getText()); txt_modelo.setText(v.getModelo()); }

O problema que voçe tinha era de nunca passar tua classe por parametro ao metodo que faz a consulta , ou seja o veiculo criado no metodo consulta não servia para nada

é so por Resolvido ai em cima

Criado 17 de agosto de 2011
Ultima resposta 21 de ago. de 2011
Respostas 4
Participantes 3