FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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... |
#4
|
||||
|
||||
Debería bastar con un código similar a este:
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|