Já tentou fazer pelo outro lado? String SQL = "SELECT * FROM usuario WHERE usu_nome LIKE ?";
PreparedStatement ps = (PreparedStatement) conn.preparedStatement(SQL);
ps.setString(1, "%"+nome+"%");
rs = ps.executeQuery();
ps.close();
L
Luizao
Vê se ajuda:
public ResultSet pesquisa (String nome){
ResultSet rs = null;
try{
String SQL = "SELECT * FROM usuario WHERE usu_nome LIKE ?;
PreparedStatement ps = (PreparedStatement) conn.preparedStatement(SQL);
ps.setString(1, "%" + nome + "%");
rs = ps.executeQuery();
ps.close();
}catch(Exception e){
}
return rs;
}
G
galoneti
Fala Calinhos meu brother !
So seguir o que o amigo ai decima falou que vai dar certinho !
Passei por isso tbm … veja meu codigo !
pstm.setString(1, buscarCarona.getCidadePartida()+"%");
ou entao
pstm.setString(1, "%"+ buscarCarona.getCidadePartida()+"%");
Abraço
C
carlinhoscomp
É isso ai amigos, deu certo sim!
Obrigado!!
R
Rodrigo_Sasaki
Só pra constar, até onde eu sei isso aí não é SQL Injection
C
carlinhoscomp
Então, para evitar o SQL Injection utiliza-se o PreparedStatement.
Na verdade o problema era utilizar % com PreparedStatement.
R
Rodrigo_Sasaki
carlinhoscomp:
Então, para evitar o SQL Injection utiliza-se o PreparedStatement.
Na verdade o problema era utilizar % com PreparedStatement.
Exatamente o que eu quis dizer hehehe, o título do tópico não fez sentido pra mim, visto que você já estava usando o PreparedStatement
mas tudo bem, que bom que seu problema foi resolvido
G
galoneti
Bom eu acho que isso é uma maneira para prevenir SQL Injection sim .
Pois pode usar o prepareStatement e mesmo assim usar variaveis no meuio do codigo SQL, tipo
Stringsql="SELECT nome, email, sexo, cel FROM usuario WHERE id = "+varId+" ;ResultSetrs=pstm.executeQuery();
H
Hebert_Coelho
galoneti:
Bom eu acho que isso é uma maneira para prevenir SQL Injection sim .
Pois pode usar o prepareStatement e mesmo assim usar variaveis no meuio do codigo SQL, tipo
Stringsql="SELECT nome, email, sexo, cel FROM usuario WHERE id = "+varId+" ;ResultSetrs=pstm.executeQuery();
Calma, “muita hora nessa calma”…
O código que você citou ajuda a prevenir o SQL Injection?
Se sim, não me entenda errado… Mas você sabe o que é o SQL Injection? Como ele funciona?
G
galoneti
Hehehe,
O codigo que citei, é vuneravel a SQL Injection,
o que eu quiz dizer é que, só o prepareStatement não previne o SQL Injection. ( Eu acho )
hehehe
R
Rodrigo_Sasaki
Só por ter dado um new em um PreparedStatement realmente você não vai prevenir o SQL Injection, isso como muitas outras coisas vai depender da implementação.
Agora se usar o PreparedStatement como ele deve ser usado, aí sim previne.
G
galoneti
Só por ter dado um new em um PreparedStatement realmente você não vai prevenir o SQL Injection, isso como muitas outras coisas vai depender da implementação.
Agora se usar o PreparedStatement como ele deve ser usado, aí sim previne.