PreparedStatment e ResultSet

3 respostas
B

Pessoal, ouvi dizer que realizar procedimentos junto ao banco de dados com PreparedStatment deixa o código mais limpo, rápido e entendível.....
Resolvi tentar implementá-lo, porém não estou sabendo usar o resultSet com preparedStatment

qdo tento imprimir algo, colocando System.out.println(rs.getString("endereco"));
dá o erro: java.sql.SQLException: Before start of result set
e qdo eu tiro essa linha, não aparece erro

tentei imprimir a query gerada pelo Statment e ela foi gerada normalmente, inclusive joguei-a no banco e funcionou
mas achei estranho q imprimi o código rs.getRow e retornou 0....
será q a consulta não retornou resultado, msm a query estando correta?

public void consulta (Cliente cliente)throws SQLException{
		
		String query="SELECT * FROM cliente WHERE nome=? AND endereco=?";
		PreparedStatement st = this.conexao.prepareStatement(query);
		st.setString(1, cliente.getNome());
		st.setString(2, cliente.getEndereco());
		
		ResultSet rs = st.executeQuery();
		System.out.println(rs.getString("endereco"));
		
		st.close();
	}

3 Respostas

T

Você não chamou “rs.next()”? Ele é necessário para puxar a primeira linha do resultset.

fernei

Concordo com o thingo, cade o rs.next(); ?!?!?

public void consulta (Cliente cliente)throws SQLException{   
           
        String query="SELECT * FROM cliente WHERE nome=? AND endereco=?";   
        PreparedStatement st = this.conexao.prepareStatement(query);   
        st.setString(1, cliente.getNome());   
        st.setString(2, cliente.getEndereco());   
           
        ResultSet rs = st.executeQuery();   
         if (rs.next()) {
	for (rs.next(); rs.next();) {
                   System.out.println(rs.getString("endereco"));   
               }// close for
        } // close if
        st.close();   
    }

Tenta dessa forma ai em cima e da uma procurada no forum pois tem bastante assunto sobre isso.

Espero ter ajudado.

B

era exatamente este o problema

vlw pela ajuda pessoal

Criado 8 de janeiro de 2009
Ultima resposta 8 de jan. de 2009
Respostas 3
Participantes 3