Olá pessoal,
eu estou querendo construir um método
de busca para me retornar todos
os nomes semelhantes que usário
esteja procurando:
public List<Tecnico> buscarTecnicos(String nome) throws LAFQADaoException {
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement("SELECT * FROM tecnico WHERE nome LIKE '%?%'");
ps.setString(1, nome);
rs = ps.executeQuery();
if (!rs.next()) {
throw new Exception("Não foi encontrado nenhum"
+ " Tecnico com o Nome: " + nome);
}
List<Tecnico> list = new ArrayList<Tecnico>();
while (rs.next()) {
int idTecnico = rs.getInt(1);
int idUsuario = rs.getInt(2);
nome = rs.getString(3);
String telefone = rs.getString(4);
String celular = rs.getString(5);
String email = rs.getString(6);
UsuarioSistemaDao usuarioDao = new UsuarioSistemaDao();
UsuarioSistema usuario = usuarioDao.procurarUsuarioSistema(idUsuario);
list.add(new Tecnico(idTecnico, usuario, nome, telefone, celular, email));
}
return list;
}
...
}
Só que toda hora aparece a seguinte mensagem:
Falha ao cadastrar o usuário!
23/11/2009 08:25:19 teste.TesteGeral main
SEVERE: null
exception.LAFQADaoException: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
at dao.TecnicoDao.buscarTecnicos(TecnicoDao.java:234)
at teste.TesteGeral.main(TesteGeral.java:302)
Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
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.checkBounds(PreparedStatement.java:3288)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3272)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4108)
at dao.TecnicoDao.buscarTecnicos(TecnicoDao.java:207)
... 1 more
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
Será que alguém poderia me dar uma ajuda?
[]'s.
