una de linq

21/10/2008 - 19:43 por [Juanjo] | Informe spam
hola grupo:

Estoy tratando de ejecutar una consulta sql desde linq, para ello genero
mi sentencia, por ejemplo:

string sql="select * from personas where nombre '"+nombre+"'";

donde nombre es una variable que leo de un formulario string ok?

En principio, funciona bien, ahora si en el campo de texto del
formulario metes un caracter que no sea
alfanumerico, como una coma, comilla, punto, etc. jeje la consulta falla con
una excepcion.

Con los sqladapter podias crear un sqlparameter que te solucionaba el
problema, pero con linq no doy.

Alguien sabe de algo parecido o como solucionar el problema?

gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
21/10/2008 - 21:06 | Informe spam
"[Juanjo]" wrote in message
news:
Estoy tratando de ejecutar una consulta sql desde linq, para ello
genero mi sentencia, por ejemplo:

string sql="select * from personas where nombre '"+nombre+"'";

donde nombre es una variable que leo de un formulario string ok?

En principio, funciona bien, ahora si en el campo de texto del
formulario metes un caracter que no sea
alfanumerico, como una coma, comilla, punto, etc. jeje la consulta falla
con una excepcion.

Con los sqladapter podias crear un sqlparameter que te solucionaba el
problema, pero con linq no doy.



Bueno, si en LINQ lo haces con

var resultado = from p in ctx.personas where p.nombre=nombre select p;

te realiza internamente la parametrización como es debido, de forma que
la sentencia llega correctamente al servidor.
Respuesta Responder a este mensaje
#2 [Juanjo]
21/10/2008 - 21:13 | Informe spam
gracias, pero no me vale.

imagina que el numero de "parametros" por los que quieres filtrar en el
where es variable, por ejemplo,
en una pantalla para buscar personas que puedas buscar por el nombre,
apellidos,sexo,etc. y para
buscar no tienes porque completar todos los campos, entonces el where lo
tienes que crear dinamicamente
en funcion de los campos que has completado.


"Alberto Poblacion"
escribió en el mensaje de noticias
news:%
"[Juanjo]" wrote in message
news:
Estoy tratando de ejecutar una consulta sql desde linq, para ello
genero mi sentencia, por ejemplo:

string sql="select * from personas where nombre '"+nombre+"'";

donde nombre es una variable que leo de un formulario string ok?

En principio, funciona bien, ahora si en el campo de texto del
formulario metes un caracter que no sea
alfanumerico, como una coma, comilla, punto, etc. jeje la consulta falla
con una excepcion.

Con los sqladapter podias crear un sqlparameter que te solucionaba el
problema, pero con linq no doy.



Bueno, si en LINQ lo haces con

var resultado = from p in ctx.personas where p.nombre=nombre select
p;

te realiza internamente la parametrización como es debido, de forma que
la sentencia llega correctamente al servidor.


Respuesta Responder a este mensaje
#3 Alfredo Novoa
21/10/2008 - 22:10 | Informe spam
El Tue, 21 Oct 2008 21:13:03 +0200, [Juanjo] escribió:

gracias, pero no me vale.

imagina que el numero de "parametros" por los que quieres filtrar en el
where es variable,



O que es cualquier update.

Yo creo que para todo eso es mejor seguir usando los SqlCommands.

Aunque con LinQ podrías crear un arbol de expresiones con lo que te de la
gana.


Saludos
Respuesta Responder a este mensaje
#4 [Juanjo]
21/10/2008 - 23:26 | Informe spam
Gracias por la respuesta.

Creo que es demasiado montrar lo de las expresiones para lo que necesito,
pero si existiera
algo parecido al SqlParameter




"Alfredo Novoa" escribió en el mensaje de noticias
news:
El Tue, 21 Oct 2008 21:13:03 +0200, [Juanjo] escribió:

gracias, pero no me vale.

imagina que el numero de "parametros" por los que quieres filtrar en el
where es variable,



O que es cualquier update.

Yo creo que para todo eso es mejor seguir usando los SqlCommands.

Aunque con LinQ podrías crear un arbol de expresiones con lo que te de la
gana.


Saludos
Respuesta Responder a este mensaje
#5 Alfredo Novoa
22/10/2008 - 11:45 | Informe spam
El Tue, 21 Oct 2008 23:26:12 +0200, [Juanjo] escribió:

Creo que es demasiado montrar lo de las expresiones para lo que necesito,
pero si existiera
algo parecido al SqlParameter



Pues parece que no.


Saludos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida