Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2009
Besto Besto is offline
Miembro
 
Registrado: abr 2006
Posts: 118
Poder: 19
Besto Va por buen camino
Cambiar comillas dobles por dos simples

Hola,

necesito saber como reemplazar las comillas dobles por dos simples para guardar un string en la base de datos. Si guardo comillas dobles luego me da error al hacer una consulta con mysql.

He intentado el StringReplace pero me da error.

He estado buscando por los foros pero no he encontrado nada.
Responder Con Cita
  #2  
Antiguo 08-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
He intentado el StringReplace pero me da error.
¿Qué error?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 08-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Acabo de hacer la siguiente prueba y noté que reemplaza bien...

Código Delphi [-]
var
  sql: String;
begin
  sql :=  'select campo from campo = "ejemplo"';
  sql :=  StringReplace(sql, '"', '´', [rfReplaceAll]);
  ShowMessage(sql);
end;

Si no te funciona el hecho de adaptar dicho codigo, entonces... ¿Cual es el error que te muestra?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 08-01-2009
Besto Besto is offline
Miembro
 
Registrado: abr 2006
Posts: 118
Poder: 19
Besto Va por buen camino
En realidad el problema inicial que he tenido ha sido que al hacer una consulta si dentro del string tengo comillas dobles (por ejemplo 2" Lbs) la consulta me da un error de mysql. Yo entiendo que es porque encuentra la doble comilla y termina el string con lo que el resto queda dentro de la consulta sin estar entre comillas.

Se me habia ocurrido cambiar la doble comilla por dos simples pero de las que usa Delphi para indicar un string (') con lo cual el stringreplace tambien me falla.

Cualquier otra idea para evitar el error de la consulta me vendria bien.
Responder Con Cita
  #5  
Antiguo 08-01-2009
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
tambien puedes hacer la consulta con QuotedStr() mira:
yo he trabajado mucho con MySQL y las consultas la hago así sin problemas
Código Delphi [-]
var
  sql: String;
begin
  sql :=  'select campo from tabla where campo = '+QuotedStr('Ejemplo');
  ShowMessage(sql);
end;

PD: Estoy migrando a SQL Express 2008

el que te dio jonny esta mal en relacion a lo que tú quieres hacer , debería ser así:

Código Delphi [-]
var
  sql: String;
begin
  sql :=  'select campo from campo = "ejemplo"';
  sql :=  StringReplace(sql, '"', '''', [rfReplaceAll]);
  ShowMessage(sql);
end;

aunque te recomiendo al 100% usar la funcion QuotedStr...

Última edición por cmm07 fecha: 08-01-2009 a las 16:38:03.
Responder Con Cita
  #6  
Antiguo 08-01-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, el stringReplace no debería fallarte, sería bueno que pusieras el codigo que estas utilizando, pero no es necesario cambiar por las comillas simples creo, acabo de hacer una prueba y no da error al insertar o hacer una consulta con comillas dobles en mysql.

Código Delphi [-]
  ......
  Query.Sql := 'Select * from campo = '+QuotedStr('2"');
  ......

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 08-01-2009
Besto Besto is offline
Miembro
 
Registrado: abr 2006
Posts: 118
Poder: 19
Besto Va por buen camino
A pesar de que lo habia probado y no me ha funcionado bien algo debia hacer mal, porque ahora he vuelto a probar con la funcion QuotedStr y parece que va bien.

Voy a hacer más pruebas, pero creo que funcionara. Lo malo es que ahora me tocará cambiar las comillas que usaba en las consultas por QuotedStr.

Muchas gracias a todos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
tablas y campos en minusculas firebird con dialecto 3 las pone entre comillas dobles juniorSoft Firebird e Interbase 2 03-11-2008 20:50:28
apellidos con comillas simples.... ingel Varios 2 05-12-2007 21:05:45
Como eliminar comillas simples en un texto Coco_jac Varios 3 20-08-2007 15:32:02
listas dobles Luli Varios 3 08-11-2004 23:14:59
Ventanas dobles davidgaldo Varios 4 14-07-2004 17:41:22


La franja horaria es GMT +2. Ahora son las 10:49:21.


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
Copyright 1996-2007 Club Delphi