Comillas en campo de una tabla origina error en una instruccion SQL

02/11/2006 - 17:20 por Wabi | Informe spam
Como puedo salvar el error que se produce al ejecutar una consulta SQL
cuando uno de los campos involucrados tiene una comilla... por ej: el
apellido 'D'ALESANDRO'.
Tengo entendido que hay que anteponer otra comilla simple pero como
automatizo eso?... hay alguna instruccion que haga la conversion para evitar
el error?.
Gracias por ayuda.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
02/11/2006 - 17:27 | Informe spam
"Wabi" wrote in message
news:eEseZrp$
Como puedo salvar el error que se produce al ejecutar una consulta SQL
cuando uno de los campos involucrados tiene una comilla... por ej: el
apellido 'D'ALESANDRO'.
Tengo entendido que hay que anteponer otra comilla simple pero como
automatizo eso?... hay alguna instruccion que haga la conversion para
evitar el error?.



Aunque el problema se resuelve duplicando la comilla, la forma
recomendada de evitar estos y otros problemas consiste en no concatenar
nunca datos de usuario con la sentencia. en su lugar, lo que se hace es
parametrizar la sentencia y asignar tu dato al parámetro:

Dim sentencia as string = "Insert into miTabla values (@valor)"
Dim comando as New SqlCommand(sentencia, conexion)
comando.Parameters.Add("@valor", "D'Alesandro")
comando.ExecuteNonQuery()
Respuesta Responder a este mensaje
#2 Wabi
03/11/2006 - 22:34 | Informe spam
Probe de la maneda que me indicaste y se soluciono el problema. Gracias

"Alberto Poblacion [MVP]"
escribió en el mensaje news:uGxFFvp$
"Wabi" wrote in message
news:eEseZrp$
Como puedo salvar el error que se produce al ejecutar una consulta SQL
cuando uno de los campos involucrados tiene una comilla... por ej: el
apellido 'D'ALESANDRO'.
Tengo entendido que hay que anteponer otra comilla simple pero como
automatizo eso?... hay alguna instruccion que haga la conversion para
evitar el error?.



Aunque el problema se resuelve duplicando la comilla, la forma
recomendada de evitar estos y otros problemas consiste en no concatenar
nunca datos de usuario con la sentencia. en su lugar, lo que se hace es
parametrizar la sentencia y asignar tu dato al parámetro:

Dim sentencia as string = "Insert into miTabla values (@valor)"
Dim comando as New SqlCommand(sentencia, conexion)
comando.Parameters.Add("@valor", "D'Alesandro")
comando.ExecuteNonQuery()



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida