grande galera do Guj… tudo tranquilo?
to com a duvido no seguinte metodo
public void getContatoPorId(Contato contato) throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("Select nome, email from Contatos where id = ?");//query ok
ResultSet rs = stmt.executeQuery();
stmt.setInt(1, contato.getId());
while(rs.next()){
rs.getString("nome" + ": " + rs.getString("endereco"));
}
rs.close();
stmt.close();
}
eu to passando um contato(um id de um contato) pra pegar seu nome e email
só que quando eu defino
public static void main(String[] args) throws SQLException {
ContatoDao dao = new ContatoDao();
Contato contato = new Contato();
contato.setId(20);
System.out.println(contato.getId());
dao.getContatoPorId(contato);
}
ele lança o seguinte erro
Connectado
20
Exception in thread "main" java.sql.SQLException: No value specified for parameter 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2513)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2489)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2415)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2169)
at br.com.BandaIADE.jdbc.dao.ContatoDao.getContatoPorId(ContatoDao.java:71)
at br.com.BandaIADE.jdbc.JDBCTestaProcuraDAO.main(JDBCTestaProcuraDAO.java:14)
com.mysql.jdbc.JDBC4PreparedStatement@18fef3d: Select nome, email from Contatos where id = ** NOT SPECIFIED **
conferi a consulta e ela esta certa
Select nome, email from Contatos where id = 20
vlw