Instrução SQL

2 respostas
C

Estou com o seguinte problema:

Quando monto a instrução SQL para inserir informações no banco de dados (Oralce) existe um campo que é do tipo textarea e nele pode conter aspas simples " ’ ", com isso quando envio para grava-lo ele não grava, porque a esta aspas simples ele interpreta como fim de valor.

Preciso de antes de montar a sentença SQL que ele faça um tratamento na aspas simples e não permite que a o valor chegue truncado.

Obrigado

2 Respostas

S

A regra para inserir apóstrofos numa coluna de um bd oracle é simplesmente duplicá-los!

Se queremos inserir 2 apóstrofos, por exemplo fazemos assim:

insert into tabela (coluna_tipo_texto) values(’’’’’’);- dois apóstros para delimitar a sequência, mais dois apóstrofos para cada que queremos = total de 6 apóstrofos para os dois.

No seu código, você pode simplesmente deixar que um PreparedStatement cuide disso para você ou forçar a inclusão de um extra para cada apóstrofo localizado, remontando uma String a partir da original, usando ou StringTokenizer ou String.indexOf().

C

Caro colega,

Eu estou montando a seguinte instrução:

sql =  INSERT INTO AIRESPINTERNET (IDRESPINTERNET, IDAVALIACAOQUESTAO, IDDOCENTEADMISSAO, ;

sql += IDALUNOCURPERDISC, RESPOSTA, DSRESPOSTA, DTINS, USUINS) ;

sql += VALUES (+seq+, +questao+, +docente+, +aluno+, '”+fechada+”’, '”+aberta+"’, SYSDATE, ‘CDAVALINST’)" ;

d.query(sql);

Mas o valor da variável “fechada”, pode conter aspas simples, como faço para verificar se existe aspas simples e substituílas, antes de enviar o valor do variável para a sentença sql ?

Muito obrigado

Criado 14 de outubro de 2004
Ultima resposta 15 de out. de 2004
Respostas 2
Participantes 2