FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema con comillas en Consulta SQL
Hola... tengo el siguiente problema...
Quiero insertar datos en un campo tipo alfanumérico... pero delphi no me deja hacerlo cuando quiero insertar por ejemplo: Insert Into Tabla(Nombre) Values (' O'Neal ') y si se dan cuenta pues hay 3 comillas simples en una misma cadena... y logicamente me marca error... ¿Cómo puedo resolver esto? si yo no se cuando algun usuario va ingresar un nombre con comilla " ' " Ojala me puedan ayudar... gracias... |
#2
|
||||
|
||||
No se si funcionará, pero por qué no pruebas a poner QuotedStr(O'Neal)
|
#3
|
|||
|
|||
A mi me pasó lo mismo. La forma en que lo solucioné fue cambiar la comilla simple por dos comillas simples, antes de pasar la cadena a la sentencia SQL.
Espero que te sea útil. Guille
__________________
Hasta luego. Guillermo |
#4
|
||||
|
||||
aunque lo que yo siempre he ocupado es:
donde CHR(39) (ó #39) es el que corresponde a la comilla simple
__________________
|
#5
|
||||
|
||||
corrección respuesta anterior
Lo siento, no habia leido bien tu msg ... lo que puedes hacer también, es buscar ese caracter, y reemplazarlo por #39, hay una función que hace eso, pero en este momento no dispongo de delphi para buscarla, en todo caso, debería estar dentro de strings. En ese caso, mejor deberías hacer lo siguiente:
Ahora, te recomiendo que mejores esto un poco y elimines la primera y la última comilla, esto lo puedes hacer primero haciendo un trim, luego ver si hay una comilla simple en la posición 0 (hay una función que te devuelve la posición de un caracter), y ver si hay otra en la "lenght(cadena) - 1", y después reemplazas simplemente las comillas restantes en el resto del string por " + #39 + " y listo. Si no puedes encontrar la función en la ayuda de delphi (porque ahora me acuerdo que parece que no la pillé), te recomiendo la JVC, donde estoy completamente seguro que existe esa función (Pues, porque la he ocupado antes). Disculpen el desorden, pero después de 2 meses de vacaciones sin ni siquiera ver un computador, a uno se le olvidan algunas cosas jajaja
__________________
Última edición por unreal4u fecha: 16-03-2005 a las 15:54:18. Razón: de nuevo corrigo... |
#6
|
|||
|
|||
Muchas gracias...solucione el problema..
Gracias compañeros... pude resolver el problema utilizando la siguiente función:
StringReplace() de SysUtils |
|
|
|