INSERT INTO - Erro com string contendo apóstrofo

3 respostas
T

Srs,
Como tratar um INSERT INTO que contenha uma string com apóstrofo?

Ex:
nomeUsuario = João Mc’Entire

Ao fazer INSERT INTO xxx (nome_usuario) VALUES (’"+ nomeUsuario +"’)
o apóstrofo da string fecha a instrução SQL e ocorre erro.

Dá pra contornar isso?

3 Respostas

_fs

Se usar isso aqui nunca mais terá esse tipo de problema, e as meninas vão te achar mais bonito:
http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html

peczenyj

Geralmente se usa uma contra-barra para ‘escapar’ os caracteres estranhos.

_fs

Não é inteligente fazer isso.

Veja que simples com PreparedStatement:

PreparedStatement ps = conn.prepareStatement( "INSERT INTO xxx(nome_usuario) values( ? )" );
ps.setString( 1, "nome ' com ' caracteres ' estranhos" );
ps.execute();

Poderia até fazer um laço:

int count = 0;
while( condicao == true ) {
    ps.setString( 1, String.valueOf( ++count ) );
    ps.execute();
}
Criado 18 de maio de 2006
Ultima resposta 18 de mai. de 2006
Respostas 3
Participantes 3