Dado não aceito

3 respostas
M

Olá Galera…

Antes de mais nada eu estou aqui para agradecer a ajuda que vocês estão me dando. Valeu mesmo.

E vou pedir novamente esta ajuda…
Bom eu tenho um array na minha aplicação que tem o nome dos minucipios do Brasil e está carregado numa ComboBox. Quando eu clico num municipio, ele faz uma consulta no banco e me puxa a população desse municipio. A minha dúvida é a seguinte, eu tenho um municipio chamado Olhos d’Agua das Flores e esse municipio gera erro. Não só este mas todos que tem aspa simples no nome dá pau! Alguém ja passou por algo desse tipo? Se passou como eu faço para ele considerar a aspa simples como parte do nome na consulta?

Entenderam?

Abraços

3 Respostas

T

Isso se chama “p***, porque é que você não usa PreparedStatement?”

É que se você está montando a consulta concatenando strings, como “SELECT * FROM CIDADES WHERE CIDADE = '” + cidade + “’”, então vai ter esses problemas de aspas mesmo.

a) Use PreparedStatement (recomendado!)

ou, se isso não é uma opção para você,

b) Faça uma função que duplique as aspas (ou seja, troca um caracter “’” por 2 caracteres “’”) Se você passar uma aspa duplicada para o SQL ele não dá problemas. Exemplo:

SELECT * FROM CIDADES WHERE CIDADE = ‘JOSÉ D’‘ALENCAR’;

M

thingol:
Isso se chama “p***, porque é que você não usa PreparedStatement?”

É que se você está montando a consulta concatenando strings, como “SELECT * FROM CIDADES WHERE CIDADE = '” + cidade + “’”, então vai ter esses problemas de aspas mesmo.

a) Use PreparedStatement (recomendado!)

ou, se isso não é uma opção para você,

b) Faça uma função que duplique as aspas (ou seja, troca um caracter “’” por 2 caracteres “’”) Se você passar uma aspa duplicada para o SQL ele não dá problemas. Exemplo:

SELECT * FROM CIDADES WHERE CIDADE = ‘JOSÉ D’‘ALENCAR’;

“p**** , porque eu não usei isso antes!!!”

Hehehe valeu pela dica!
Abraços

M

Mas como é que eu faço para usar o PreparedStatement? Eu estou começando a mexer com conexão a banco de dados agora e não tenho muito conhecimento ainda. Tipo eu ja dei uma olhada na API mas ainda não entendi bem… Tem como me ajudar?
Abraços

Criado 5 de maio de 2006
Ultima resposta 8 de mai. de 2006
Respostas 3
Participantes 2