PDA

Ver la Versión Completa : problemas con las comillas ("")


squenda
07-12-2004, 09:22:09
Hola, estoy utilizando interbase 6 que viene con delphi 6, mi problema es que en mi aplicación nopuedo usar "comillas" ni 'apostrofes' porque el sistema las toma como parte del query de actualización y me da errores.

Gracias por la ayuda.

saludos

Neftali [Germán.Estévez]
07-12-2004, 09:31:57
Si estás utilizando SQL directamente puedes utilizar parámetros al construir las sentencias a ver si así no te da problemas.

MRSAM
15-12-2004, 20:06:49
Yo tube el mismo problema con Sybase SQL Server y utilizo lo siguiente:

Query.SQL.Add ('Select * from basededatos where clave='+chr(39)+edit1.text+chr(39));

Esto lo hice ya que en Sybase la ' es la que se utiliza para los textos y no "

Critter
15-12-2004, 21:02:56
puedes utilizar la funcion QuotedStr de la unidad SysUtils de la forma:

texto := QuotedStr(Edit1.Text);
Query.SQL.Add ('Select * from basededatos where clave='+texto);

fixarg
20-12-2004, 23:08:28
podrias simplemente cambiar el atributo de dialecto como sigue

IBDatabase1.SQLdialect:=1;

squenda
05-01-2005, 07:07:01
Creo que no me explique bien, mi problema es cuando el usuario captura comillas, por ejemplo en un campo que se llama nombre de la clinica y el usuario escribe:

Clinica veterinaria "ALF"

es el usuario quien las escribe y es donde me da el error

saludos

marcoszorrilla
05-01-2005, 07:13:51
En el evento OnChange del campo puedes crearte un procedimiento que busque las comillas y las elimine.

Un Saludo.

rastafarey
14-01-2005, 19:28:47
dentro de la cena solo agrega dos comillas simples.

'esto es un '' a simple comilla'
se vera como
esto es un ' a simple comilla
www

Mick
14-01-2005, 19:44:39
La solucion sencilla y mas correcta a mi parecer, te la han dado en la primera respuesta: usar parametros, ejemplo:


Query.SQL.Text:= 'SELECT * FROM TABLA WHERE NOMBRE=:TEXTO';
Query.ParamByName('TEXTO').AsString:= Edit1.Text;
...
...


Saludos