Les hablo de Visual Studio 2005. He crado un dataset arrastrando una tabla
de la BD. Ahora quiero añadir una query al DataSet (al TableAdapter, mas
bien), pero esa query tendrá más o menos parámetros, en función de si el
usuario, desde su interfaz, ha introducido mas datos o menos. Es decir, si
alguien me ha seleccionado una sección, quiero filtrar por esa sección, y si
no, las muestro todas, y así con varios parámetros más.
¿Puedo definir la select en el table adapter, con todos los parámetros q voy
a necesitar y luego, de alguna forma, si un parámetro no me interesa,
quitarlo "desde código" ??
Alguna otra forma eficaz de solucionar esto ??
Gracias.
Saludos
por qué no mejor inicialmente muestras todos los registros de la tabla y
posteriormente utilizas la propiedad RowFilter del la propiedad DefaultView
del datatable, así no tendrías de ir hasta el servidor cada vez que deseen
aplicar algún filtro todo se haría en memoria (dataset).
dim filtro as string;
if parametro1.Length > 0 then
filtro = "ColumnaFiltrar = '" + parametro1)
if parametro2.Length > 0
if (filtro.length > 0)
then
filtro += " And "
' En caso de que necesites aplicar un like
filtro = "ColumnaAFiltrar like % ' " + parametro2 + "%'")
endif
datatable.DefaultView.RowFilter = filtro
:)
Gracias
lo que yo hago en ese caso es que el parametro tenga un valor por defecto
que anula al parametro denrto de la consulta por ej tengo la tabla persona
en q hay la posibilidad de buscar por apellido o nombre o ambos o sexo
entonces en mi consulta hago algo asi
select * from persona
where (nombre like @Nombre or @nombre='') and (apellido=@apellido or
@apellido='') and (sexo=@sexo or @sexo=0)
entonces el tableadapter tendra un metodo mas o menos asi
GetPersonas(Nombre,Apellido, Sexo)
y entonces al llamar a este metodo cuando no haya nombre ni sexo llamaria
asi
GetPersonas("","peres",0)
de esa forma tengo parametros que no uso o uso a veces
espero te sirva
salu2
sergio
"lobezno" <lob...@discussions.microsoft.com> escribió en el mensaje de
noticias:71ACFDAD-74A3-4B13...@microsoft.com...