Enterprise Library

13/12/2007 - 15:48 por Robert Barreiro | Informe spam
Muchachos, que tal? Tengo una duda, es mas bien con SQL; es el siguiente:

Tengo una consulta muy simple, digamos "SELECT * FROM Clientes WHERE
APELLIDO = @apellido". Para interactuar con el SQL Server utilizo Enterprise
Library (version 3.0), hasta aca todo bien:

DbCommand cmd = _database.GetSqlStringCommand(query);
_database.AddInParameter(cmd, "@apellido", DbType.String, apellido);
dt = _database.ExecuteDataSet(cmd).Tables[0];

Ahora lo que pretendo es hacer es utilizar la sentencia LIKE en la consulta
y quiero utilizar los comodines '%' pero no se como hacerlo aca. Si le pongo
los %..% alrededor del parametro me da error. Evidentemente, algo estoy
haciendo mal :) ¿Alguien tiene idea de como hacer esto?


¡Muchas gracias!


Robert.

Preguntas similare

Leer las respuestas

#1 Robert Barreiro
13/12/2007 - 16:02 | Informe spam
bueno, resulta que si le pasas los simbolos de % como parte del valor del
parametro funciona, pero me parece medio chancho. Alguien conoce algun
metodo mejor?



Thanks


"Robert Barreiro" escribió en el mensaje
news:
Muchachos, que tal? Tengo una duda, es mas bien con SQL; es el siguiente:

Tengo una consulta muy simple, digamos "SELECT * FROM Clientes WHERE
APELLIDO = @apellido". Para interactuar con el SQL Server utilizo
Enterprise Library (version 3.0), hasta aca todo bien:

DbCommand cmd = _database.GetSqlStringCommand(query);
_database.AddInParameter(cmd, "@apellido", DbType.String, apellido);
dt = _database.ExecuteDataSet(cmd).Tables[0];

Ahora lo que pretendo es hacer es utilizar la sentencia LIKE en la
consulta y quiero utilizar los comodines '%' pero no se como hacerlo aca.
Si le pongo los %..% alrededor del parametro me da error. Evidentemente,
algo estoy haciendo mal :) ¿Alguien tiene idea de como hacer esto?


¡Muchas gracias!


Robert.




Respuesta Responder a este mensaje
#2 Alberto Poblacion
13/12/2007 - 16:10 | Informe spam
"Robert Barreiro" wrote in message
news:
bueno, resulta que si le pasas los simbolos de % como parte del valor del
parametro funciona, pero me parece medio chancho. Alguien conoce algun
metodo mejor?



No, ese ES el método correcto. Los % forman realmente parte del valor del
parámetro dentro de la sintaxis del lenguaje SQL, luego es perfectamente
lógico, correcto y coherente que al hacer la llamada desde código cliente se
metan dentro del valor.

Imagínate que la sentencia la escribieses a mano, sin parametrizar.
Pondrías "Select ... where campo like '%valor%' ". Lo que sustituye el
parámetro es lo que va entre las comillas simples (incluyendo las propias
comillas), luego los % forman parte del valor del parámetro.
Respuesta Responder a este mensaje
#3 Robert Barreiro
14/12/2007 - 16:06 | Informe spam
Jejeje, si gracias, me avivé, tarde pero bueh, llegó!


Gracias Alberto :)



"Alberto Poblacion"
escribió en el mensaje news:%
"Robert Barreiro" wrote in message
news:
bueno, resulta que si le pasas los simbolos de % como parte del valor del
parametro funciona, pero me parece medio chancho. Alguien conoce algun
metodo mejor?



No, ese ES el método correcto. Los % forman realmente parte del valor
del parámetro dentro de la sintaxis del lenguaje SQL, luego es
perfectamente lógico, correcto y coherente que al hacer la llamada desde
código cliente se metan dentro del valor.

Imagínate que la sentencia la escribieses a mano, sin parametrizar.
Pondrías "Select ... where campo like '%valor%' ". Lo que sustituye el
parámetro es lo que va entre las comillas simples (incluyendo las propias
comillas), luego los % forman parte del valor del parámetro.


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