[RESOLVED]Duvida para criar select recebendo um parametro passado pela assinatura do método
5 respostas
G
gabriel.coelho
E ai pessoal, beleza?
Preciso muito de uma ajuda de vcs aqui…
Estou fazendo um método de listaAtividadesPorParametros, onde recebo um argumento em minha servlet com o dado q preciso pesquisar no banco. Porém, quando realizo a pesquisa, não me lança exception porém me mostra a mensagem que não existe dados a serem listados, mas na verdade existe sim. Com certeza minha select está errada, mas alguem poderia me dizer onde? Ou melhor, como passar o parametro recebido??
Segue o metodo abaixo:
publicList<Atividade>listarAtividadePorParametros(StringnumeroParamentro,Stringnome,Stringdata)throwsSQLException{Connectioncon=getConnection();Stringsql="select a1.SYS_UID, a1.NUMERO, a1.DESCRICAO, a1.DATA_HORA_INICIAL, a1.DATA_HORA_FINAL from GERAL.ATIVIDADE a1 WHERE a1.DESCRICAO = '@nome' ";PreparedStatementstmt=con.prepareStatement(sql);ResultSetrs=stmt.executeQuery(sql);...
Essa é a comparação feita usando o parâmetro nome, quanto aos outros descreva melhor quais atributos serão comparados com quais parâmetros.
R
renanreismartins
amigo faça assim
Connection con = getConnection();
String sql = "select a1.SYS_UID, a1.NUMERO, a1.DESCRICAO, a1.DATA_HORA_INICIAL, a1.DATA_HORA_FINAL from GERAL.ATIVIDADE a1 WHERE a1.DESCRICAO = ?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery(sql);
assim vc tira proveito do PreparedStatement;
de uma pesquisada sobre PreparedStatement, e depois sobre o padrao DAO
abrasssss
B
Bukira_Boy
gabriel.coelho:
E ai pessoal, beleza?
Preciso muito de uma ajuda de vcs aqui…
Estou fazendo um método de listaAtividadesPorParametros, onde recebo um argumento em minha servlet com o dado q preciso pesquisar no banco. Porém, quando realizo a pesquisa, não me lança exception porém me mostra a mensagem que não existe dados a serem listados, mas na verdade existe sim. Com certeza minha select está errada, mas alguem poderia me dizer onde? Ou melhor, como passar o parametro recebido??
Segue o metodo abaixo:
publicList<Atividade>listarAtividadePorParametros(StringnumeroParamentro,Stringnome,Stringdata)throwsSQLException{Connectioncon=getConnection();Stringsql="select a1.SYS_UID, a1.NUMERO, a1.DESCRICAO, a1.DATA_HORA_INICIAL, a1.DATA_HORA_FINAL from GERAL.ATIVIDADE a1 WHERE a1.DESCRICAO = '@nome' ";PreparedStatementstmt=con.prepareStatement(sql);ResultSetrs=stmt.executeQuery(sql);...
Agradeço desde já a quem poder me ajudar.
eu faria assim:
public List<Atividade> listarAtividadePorParametros(String numeroParamentro, String nome, String data) throws SQLException {
Connection con = getConnection();
StringBuffer sql = new StringBuffer();
sql.append(" select a1.SYS_UID, a1.NUMERO, a1.DESCRICAO, ");
sql.append(" a1.DATA_HORA_INICIAL, a1.DATA_HORA_FINAL ");
sql.append(" from GERAL.ATIVIDADE a1 ");
sql.append(" WHERE 1 =1 ");
if(!nome.equalsIgnoreCase("")){
sql.append(" and a1.DESCRICAO = ");
}
PreparedStatement stmt = con.prepareStatement(sql);
int index =1;
if(!nome.equalsIgnoreCase("")){
stmt.setString(index++, nome);
}
ResultSet rs = stmt.executeQuery(sql);
...
acho que isso resolve o seu problema… quanquer dúvida poste aqui…
G
gabriel.coelho
Isso ae cara…valeu mesmo…
Agora funcionou de boa…valeu mesmo.
Abraços.
G
gabriel.coelho
Para quem tiver essa duvida…segue abaixo como realizei esse select: