“SELECT nome FROM TabelaNomes WHERE nome LIKE %’”+nome+"’%";
OK?
P
patricia
Caro Denis:
Essa Select funcionaria se eu não tivesse ( ’ ) no meio do meu nome.
Por exemplo: para nome igual a D’ARC, ela não funciona devido à aspas simples.
fenrir
Altere seu código para usar PreparedStatements.
String sql = "SELECT * FROM tblClientes WHERE ID=?";
PreparedStatement stmt = myConnection.prepareStatement(sql);
String id = "D'ARC";
stmt.setObject(1, id);
Resultset rs = stmt.executeQuery();
A grosso modo é mais ou menos isso. myConnection é um objeto do tipo Connection.
Veja o JavaDoc dessas classes!
wbsouza
O PreparedStatement além de resolver este problema, também não fica mandando um comando SQL diferente a cada vez para o banco.
Quando você usa parameters, o banco não tem que fazer parse, escolher um plano de acesso, etc. Ou seja é bem melhor que usar o SQL “na dura”.
[]s, Welington B. Souza
M
Maur_io_Pais
Também estou com um problema parecido…
Quando eu insiro algum dado (usando o exemplo de D’ARC) no campo “nomeJTextField” ele dá pau e não insere nada…sem contar que não dá nenhum códgio de bug ou algo parecido…
Alguém pode me ajudar?
furutani
Maur?io Pais:
Também estou com um problema parecido…
Quando eu insiro algum dado (usando o exemplo de D’ARC) no campo “nomeJTextField” ele dá pau e não insere nada…sem contar que não dá nenhum códgio de bug ou algo parecido…
Alguém pode me ajudar?
Você tem que colocar antes do apostrofo um caracter de escape, no caso uma contra-barra
Ou usa um Prepared Statement que ele resolve isso por você
ViniGodoy
Mauricio, da próxima vez, ao sair postando sua dúvida em tópicos abandonados, abra o seu próprio tópico, ok?