Problema Comilla con ADO en sintaxis SQL
Publicado por The Emulator (146 intervenciones) el 24/07/2007 20:44:23
Hola
Tengo una pregunta hace algun tiempo y no he econtrado solucion a esta.
Usando ADO si yo creo la sentencia SQL concatenando los valores de los campos (Cajas de texto) como hago para que si el usuario escribio algun caracter especial SQL en este caso comilla o comillas dobles me permita guardar el regitro, ya que al concatenar toda la SQL daria errores de sintaxis por los caracteres especiales que escribio el usuario.
Por ejemplo
Si tengo una caja de texto y el usuario escribe esto
Hola " Mundo
Al crear yo la sentencia SQL seria algo como esto
strSQL="INSERT INTO tblDatos (Mensaje) VALUES ('" & txtMensaje & "');"
El resultado de crear esa SQL seria:
INSERT INTO tblDatos (Mensaje) VALUES ('Hola " Mundo');
Aqui ya se puede ver que en la consulta SQL hay un error porque existen unas comillas dobles que no cierran y que ademas esta en medio de las comillas sencillas, por tal razon al ejecutarla se produce el error de sitaxis.
Entonces que puedo hacer para solucionar ese tipo de error.
De una vez descartar la opcion de buscar en la cadena y remplazar los caracteres especiales por otros porque no creo que Access haga eso cuando tiene una tabla vinculada a un formularo. ademas eso implicaria mucho mas trabajo porque tendria que implementarce lo del remplazo en todos los formularios, reportes ETC......................................... ya sea para remplazar y para restaurar los caracteres.
Espero alguien me pueda ayudar en esto
Saludos y gracias.
http://www.theemulator.tk
Tengo una pregunta hace algun tiempo y no he econtrado solucion a esta.
Usando ADO si yo creo la sentencia SQL concatenando los valores de los campos (Cajas de texto) como hago para que si el usuario escribio algun caracter especial SQL en este caso comilla o comillas dobles me permita guardar el regitro, ya que al concatenar toda la SQL daria errores de sintaxis por los caracteres especiales que escribio el usuario.
Por ejemplo
Si tengo una caja de texto y el usuario escribe esto
Hola " Mundo
Al crear yo la sentencia SQL seria algo como esto
strSQL="INSERT INTO tblDatos (Mensaje) VALUES ('" & txtMensaje & "');"
El resultado de crear esa SQL seria:
INSERT INTO tblDatos (Mensaje) VALUES ('Hola " Mundo');
Aqui ya se puede ver que en la consulta SQL hay un error porque existen unas comillas dobles que no cierran y que ademas esta en medio de las comillas sencillas, por tal razon al ejecutarla se produce el error de sitaxis.
Entonces que puedo hacer para solucionar ese tipo de error.
De una vez descartar la opcion de buscar en la cadena y remplazar los caracteres especiales por otros porque no creo que Access haga eso cuando tiene una tabla vinculada a un formularo. ademas eso implicaria mucho mas trabajo porque tendria que implementarce lo del remplazo en todos los formularios, reportes ETC......................................... ya sea para remplazar y para restaurar los caracteres.
Espero alguien me pueda ayudar en esto
Saludos y gracias.
http://www.theemulator.tk
Valora esta pregunta


0