Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   problemas con las comillas ("") (https://www.clubdelphi.com/foros/showthread.php?t=16670)

squenda 07-12-2004 09:22:09

problemas con las comillas ("")
 
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.
Código:

'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:

Código:

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

Saludos


La franja horaria es GMT +2. Ahora son las 08:08:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi