instanciar PreparedStatement e ResultSet
Estou fazendo um metodo para buscar dados em uma tabela, todas as linhas ou apenas conforme um nome, se for passado este parâmetro.
Para não ter que duplicar o mesmo código, por apenas dois objetos, (PreparedStatement e ResultSet), dentro do try {... tenho um if () {}...}...}, conforme código abaixo.
Acontece que não consegui instanciar, recebo um aviso de que não é possível instanciar estes objetos, sera?
Então, se inicializo fora, não tenho acesso dentro do if () {...}. Se inicializo dentro, não tenho depois como varrer o resultado (while ...).
Tenho como resolver?
Agradeço qualquer ajuda do pessoal mais calejado.
Lauro
**public** ArrayList<Atleta> atletaBuscar(String nome) {
ArrayList<Atleta> lista = **new** ArrayList<Atleta>();
String sqlConsulta = **null**;
** try** {
Connection conn = ConectaMySql.*obtemConexao*();
**if** (nome.isEmpty() || nome.equals("?")) { // buscar todos
sqlConsulta = "SELECT * FROM atleta ORDER BY atleta_nome ASC";
PreparedStatement ***ppStm ***= conn.prepareStatement(sqlConsulta);
} **else** { // buscar por nome ou parte dele
sqlConsulta = "SELECT * FROM atleta WHERE LOWER(atleta_nome) LIKE ? ORDER BY atleta_nome ASC";
PreparedStatement ***ppStm ***= conn.prepareStatement(sqlConsulta);
ppStm.setString(1, nome);
}
ResultSet *rsAtleta* = ***ppStm***.executeQuery();
**while**(rsAtleta.next()) {
Atleta atle = **new** Atleta();
atle.setAtleta_id(rsAtleta.getInt(1));
....
lista.add(atle);
}
conn.close();
} **catch** (Exception e){
e.printStackTrace();
}
**return** lista;
}
Ja tentei conforme alguns post da net -> ResultSet rsAtleta = new ResultSet(); <- mas da o erro, que não pode ser instanciadoDiscussão (0)
Carregando comentários...