![]() |
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 |
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. |
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... |
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'; |
| La franja horaria es GMT +2. Ahora son las 17:31:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi