Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   apellidos con comillas simples.... (https://www.clubdelphi.com/foros/showthread.php?t=51071)

ingel 05-12-2007 12:16:33

apellidos con comillas simples....
 
Hola .. mi problema es con los apellidos que contienen el caracter ' (comillas simples) Tengo una busqueda que comienza asi ...

sql.Add('select * from SUJETOS where APELLIDO = '+#39+trim(ape)+#39);

cuando el apellido es D'ALESIO .. D'ALESANDRO ... etc .. obviamente da
error de SQL ...
La pregunta es hay forma de slucionar esto MANTENIENDO EL APOSTROFE
EN EL APELLIDO ... o sea sin cambiarselo por otro caracter porque sino cuando
lo busquen deberian poner ESE OTRO caracter por ej.un ´ (alquien sabe el char de este caracter) pero preferiria evitarlo si es que se puede...

sds y gracias a todos por su tiempo
Ingel

basti 05-12-2007 12:50:40

Puedes usar parámetros:

Código Delphi [-]
  query.sql.Add('select * from sujetos where apellido = :rApellido');
  query.ParamByName('rApellido').AsString := trim(ape);

rafita 05-12-2007 21:05:45

Como te ha dicho el compañero, utilizando parámetros se soluciona, pero también puedes utilizar la función QuotedStr, por ejemplo:

Código:


// busqueda exacta
sql.Add('select * from SUJETOS where APELLIDO = '+QuotedStr(trim(ape)));
// compenzando por
sql.Add('select * from SUJETOS where APELLIDO LIKE '+QuotedStr(trim(ape) + '%'));
// o conteniendo
sql.Add('select * from SUJETOS where APELLIDO LIKE '+QuotedStr('%' + trim(ape) + '%'));

Saludos


La franja horaria es GMT +2. Ahora son las 19:12:16.

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