Método para fazer Busca em SQL

3 respostas
ricardocomp

Olá pessoal,
eu estou com uma dúvida
e não estou conseguindo
construir um método para fazer
uma busca simples em SQL.

Será que alguém poderia me dar uma ajuda?
Eu preciso retornar o objeto certo caso a busca seja bem sucedida,
caso contrário retorna null.

public Contatos buscar(Contatos contatos) throws ContatosDaoException{

        PreparedStatement ps = null;
        Connection conn = null;
        ResultSet rs = null;

        try{
            conn = this.conn;
            ps = conn.prepareStatement("SELECT * FROM registros WHERE id = '" + contatos.getid() + "'");
            rs = ps.executeQuery();
            if(rs.next()){
                int id = rs.getInt(1);
                String nome = rs.getString(2);
                String endereco = rs.getString(3);
                String bairro = rs.getString(4);
                String cidade = rs.getString(5);
                String estado = rs.getString(6);
                String cep = rs.getString(7);
                String telefone = rs.getString(8);
                return null; //Não sei como retornar o objeto certo
            }
            else{
                return null;
            }

        }catch(Exception sqle){
             throw new ContatosDaoException(sqle);

        } finally {
            try {
                ConnectContatosFactory.closeconnection(conn, ps, rs);
            } catch (SQLException ex) {
                Logger.getLogger(ContatosDao.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }

[]'s.

3 Respostas

wbdsjunior

se entendi bem... tente fazer assim:

public Contatos buscar(String id) throws ContatosDaoException {   
    PreparedStatement ps = null;   
    Connection conn = null;   
    ResultSet rs = null;   

    try{   
        conn = this.conn;   
        ps = conn.prepareStatement("SELECT * FROM registros WHERE id = '?'");   
        ps.setString(1, id);
        rs = ps.executeQuery();
        Contatos contatos = null;

        if(rs.next()){
            contatos = new Contatos();
            contatos.setId(rs.getInt(1));
            // ...
        } 
    } catch(Exception sqle){   
         throw new ContatosDaoException(sqle);   
    } finally {   
        try {   
            ConnectContatosFactory.closeconnection(conn, ps, rs);   
        } catch (SQLException ex) {   
            Logger.getLogger(ContatosDao.class.getName()).log(Level.SEVERE, null, ex);   
        }   

    }
    return contatos;
}
Jair_Rillo_Junior

Atribui os valores dentro do seu objeto através dos métodos setXXX ou do construtor.

ricardocomp

Valeu wbdsjunior e Jair Rillo Junior
Obrigado pela ajuda, vou tentar fazer o
que vocês disseram e qualquer coisa
eu posto aqui no fórum.

[]'s.

Criado 3 de junho de 2009
Ultima resposta 3 de jun. de 2009
Respostas 3
Participantes 3