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 23-02-2012
Daim Daim is offline
Registrado
NULL
 
Registrado: feb 2012
Posts: 2
Poder: 0
Daim Va por buen camino
Problema con comilla simple.

Hola compañeros, me presento ya que nunca había tenido la necesidad de resolver una duda, pero tengo 2 días resolviendo un problema que me tiene liado un mucho, les dejo el resumen:

Capturo datos de un Excel con nombres de empresas y sus datos, estos datos los vuelco a una DB, el problema viene cuando ingreso una empresa americana que tiene por nombre:

Villa's Brothers

Solo es esta empresa la que me da problemas, al intentar volcarla a la DB es cuando salta el mensaje de error de sintaxis del SQL.

He probado con QuoteStr, StringReplace, leyendo cada carácter y quitando las comillas, esto lo hago con un if que busca:

caracter <> ''''
o
caracter <> '"'

Pero no pasa nada, la condición no encuentra dicho carácter, podría quitarla a mano y evitarme problemas, pero la elegancia de un programa consiste en hacer creer al usuario que todo se realiza muy fácil.

Así que compañeros si alguien me puede echar una mano estaría agradecido.

P.D. Si alguien pudiera invitarme a ForoCoches resolvería otro gran problema que tengo en mi vida xD
Responder Con Cita
  #2  
Antiguo 23-02-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo que debes hacer es una sustitución de caracteres en la cadena antes de "volcarla" a la Base de Datos.
Cambia la comilla simple, por 3 comillas simples.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 23-02-2012
Daim Daim is offline
Registrado
NULL
 
Registrado: feb 2012
Posts: 2
Poder: 0
Daim Va por buen camino
Neftali eso ya lo había pensado, lo que me dices es algo similar a esto:

Villas'''s Brothers

Pero como lo hago desde código, tengo un string:

s := "Villa's brothers";

Este string lo obtengo desde un Excel, implemento un while que recorra el vector de caracteres del string pero el if no tengo claro como definirlo, podria ser algo asi

s := "Villa's brothers";
s1 := '';
i := 0;
while i <= lenght(s) do
begin
if s[i] <> ''''' then
begin
s1 := s1 + s[i];
end;
i := i+1;
end;

Por lo que el resultado sin la comilla seria s1, pero vamos que tengo dudas de cual seria la condición, soy telemàtico por lo que estos temas no los domino, espero que mi pregunta no sea muy boba pero vamos que me tiene liado y no se por donde tirar...
Responder Con Cita
  #4  
Antiguo 23-02-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Debería bastar con un código similar a este:

Código Delphi [-]
  s1 := AnsiReplaceText(s, #39, #39#39#39);

Si s contiene:

s => "Villa's brothers";

s1 debería acabar con el valor:

s1 => 'Villa'''s brothers';
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Inhibidor de comilla simple noob Varios 10 21-01-2009 22:30:33
funcion replace con comilla simple..? jam888 Varios 2 09-02-2008 03:07:45
Mostrar comilla simple dentro de un string Black_Ocean Varios 2 05-06-2007 04:30:43
Grabar cadena con comilla simple y back slash CHiCoLiTa PHP 3 03-03-2004 12:02:40


La franja horaria es GMT +2. Ahora son las 13:43:24.


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