Problema con dataadapter y sqlcommand basado en vista

05/12/2006 - 09:16 por Juan Diego Bueno Prieto | Informe spam
A ver, os comento, porque no entiendo el por que de eso. Pongámonos en
situación:

Tengo una vista en SQL 2005 que me devuelve 5 campos diferentes. Para
obtener una serie de registros, utilizo una consulta con parámetros con la
cual filtro por 4 de esos 5 registros.
La idea consiste en hacer un filtro AND de forma que si no se le proporciona
alguno de los criterios, se rellene con un % (la consulta tiene sus LIKE
@parametro correspondientes). La consulta además no da ningún valor nulo en
los resultados.

Genero un dataadapter a partir de esta vista. La consulta sqlcommand es la
parametrizable que indico, y si hago una vista previa (en el sqlcommand)
funciona perfectamente: sea dando uno o dos de los parámetros de filtro y el
resto % o dando a todos % para obtener todos los registros. Pero resulta que
si hago una vista previa en lo que es el dataadapter, la forma de filtrar
cambia, es decir... si proporciono a todos los parámetros un % no me
devuelve nada. Sólamente funciona si doy un valor a uno de los parámetros
distinto de % (a un parámetro de un campo concreto, siempre el mismo, y de
tipo char, mientras que los otros son varchar). He probado de todo, me da el
mismo problema si alojo la vista en un dataset tipado y mapeo el dataadapter
con él, tanto como si lo mapeo directamente a la tabla de la BD

Alguna idea? Yo mientras seguiré tratando de saber que pasa

Gracias de antemano
 

Leer las respuestas

#1 Juan Diego Bueno Prieto
05/12/2006 - 09:29 | Informe spam
Asunto solucionado... Simplemente cambiando el tipo de parámetro de char a
varchar o utilizando como criterio en el like %%%

De todas formas, gracias

"Juan Diego Bueno Prieto" escribió en el mensaje
news:%
A ver, os comento, porque no entiendo el por que de eso. Pongámonos en
situación:

Tengo una vista en SQL 2005 que me devuelve 5 campos diferentes. Para
obtener una serie de registros, utilizo una consulta con parámetros con la
cual filtro por 4 de esos 5 registros.
La idea consiste en hacer un filtro AND de forma que si no se le
proporciona alguno de los criterios, se rellene con un % (la consulta
tiene sus LIKE @parametro correspondientes). La consulta además no da
ningún valor nulo en los resultados.

Genero un dataadapter a partir de esta vista. La consulta sqlcommand es la
parametrizable que indico, y si hago una vista previa (en el sqlcommand)
funciona perfectamente: sea dando uno o dos de los parámetros de filtro y
el resto % o dando a todos % para obtener todos los registros. Pero
resulta que si hago una vista previa en lo que es el dataadapter, la forma
de filtrar cambia, es decir... si proporciono a todos los parámetros un %
no me devuelve nada. Sólamente funciona si doy un valor a uno de los
parámetros distinto de % (a un parámetro de un campo concreto, siempre el
mismo, y de tipo char, mientras que los otros son varchar). He probado de
todo, me da el mismo problema si alojo la vista en un dataset tipado y
mapeo el dataadapter con él, tanto como si lo mapeo directamente a la
tabla de la BD

Alguna idea? Yo mientras seguiré tratando de saber que pasa

Gracias de antemano


Preguntas similares