Ayer comentaba que había comenzado a trabajar con DataSets tipados por primera vez y no tardé en encontrarme con algunos problemas, principalmente debido a la falta de costumbre al trabajar con ellos. Hoy me encontré con otro problema muy molesto que tiene una solución simplísima, pero que me costó encontrar.
El método estándar para llenar las tablas de un DataSet tipado es mediante el método Fill() del TableAdapter generado dinámicamente para cada tabla. El problema con el que me encontré fue que no había una manera de llenar las tablas con datos previamente filtrados. Luego de investigar un rato encontré con la solución: simplemente hay que abrir el DataSet en el editor de esquemas y hacer click derecho sobre la tabla que queramos filtrar. A continuación elegimos Add–>Query… y veremos que se abre un asistente que nos ayudará a crear una consulta nueva que filtre los datos como nos parezca. También es posible utilizar un SP ya existente o crear uno nuevo en el momento. Cabe aclarar que si nuestra consulta depende de valores dinámicos, los mismos pueden ser provistos en forma de parámetros en la consulta dentro del asistente que se abre y el asistente generará un método con los parámetros necesarios para la consulta.
Si nuestra consulta no esta asociada a una tabla en particular, esto mismo se puede hacer sobre el propio DataSet (haciendo click derecho sobre el fondo del editor de esquemas). En este caso, los métodos generados se encontrarán en un objeto QueriesTableAdapter.
¡Nos vemos en el próximo post!
Publicado originalmente en https://gerardocontijoch.wordpress.com.