Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DataSets y TableAdapter

82 views
Skip to first unread message

lobezno

unread,
Nov 19, 2007, 7:32:00 AM11/19/07
to
Hola a todos.

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

Rafael Cruz

unread,
Nov 25, 2007, 12:58:01 PM11/25/07
to
Exactamente así hacia el DataSet y el tableAdapter me parece que sería un
poco más pesado para la conexion...

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

SergioT

unread,
Dec 13, 2007, 3:40:36 PM12/13/07
to
Hola

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...

0 new messages