Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO ADO.NET – 4.
El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no
se puede reproducir, transcribir, almacenar a un sistema de recuperación o de
alteración, asimismo la traducción a otro idioma de ninguna forma o por ningún
medio mecánico, manual, electrónico, magnético, óptico o de otro modo.
4 ADO.NET
Si tiene varias tablas en un conjunto de datos, la información en las tablas puede ser relacionada. Un
DataSet no tiene conocimiento inherente de esas relaciones; para trabajar con los datos en las tablas
relacionadas, por tanto, puede crear objetos DataRelation que describen las relaciones entre las tablas en
el conjunto de datos.
Los objetos DataRelation se pueden utilizar para analizar programáticamente los registros hijo
relacionados para un registro padre, y un registro padre desde un registro hijo. Puede utilizar un objeto
DataRelation para obtener registros relacionados desde una tabla hijo o padre. Un DataRelation
identifica columnas coincidentes en dos tablas de un DataSet.
Las relaciones permiten pasar de una tabla a otra dentro de un mismo DataSet. Los elementos esenciales
de un DataRelation son el nombre de la relación, el nombre de las tablas relacionadas y las columnas
relacionadas de cada tabla. Se pueden establecer relaciones con más de una columna por tabla, para lo
que debe especificar una selección de objetos DataColumn como columnas clave.
El DataRelation une varias tablas y facilita el desplazamiento entre registros de tablas relacionadas. Cada
vez que se obtiene acceso a registros relacionados, se pasa un objeto DataRelation a los métodos
GetChildRows o GetParentRow. DataRelation es el objeto que determina la tabla relacionada que se
consultará para devolver los datos relacionados asociados con la llamada a los métodos anteriores. Para
obtener más información.
Para este capitulo tendremos que estudiar las tablas Products y Categories.
Primero realizamos las consultas y con los respectivos Adapter y llenamos en el DataSet.
Segundo creamos los DataColumns para crear la relación entre las tablas:
Los estados de una fila desempeñan un papel fundamental para determinar las filas que se van actualizar,
por ende una fila en un DataTable puede tener varios estados:
En el siguiente grafico cuando el usuario modifica una fila determinada, se produce la siguiente secuencia:
4.- Se inspecciona el
RowState de cada fila RowState del fila(1)
Modified
7.- Se obtiene la
siguiente fila.
UnChanged
BeginEdit y EndEdit
La actualización simultanea de varias filas puede reducir el rendimiento ya que los eventos son
desencadenados en forma simultanea, para mantener el estado de una fila a UnChanged podemos usar
BeginEdit y finalizar con EndEdit para que se desencadene el conjunto de eventos.
DataRowVersion
Determina la fila en sus estados de modificación, esto resulta muy útil cuando queremos validar los
cambios realizados por el usuario antes de guardarla en la base de datos.
La clase DataView representa una vista personalizada que une datos de un DataTable para clasificar,
filtrar, buscar, editar y navegar. Un DataView es similar a una vista de un DataTable, que permite a los
programadores establecer un orden clasificado y filtrar en una vista de la tabla a parte.
ADO.NET proporciona un número de DataViews para habilitar distintas vistas de la misma tabla y
utilizarlas.
Un DataSetView es similar a una vista en la parte superior del DataSet y permite a los programadores
establecer un orden predeterminado y filtrar las tablas individuales. Además, permite a las DataViews
vincularse y utilizarse para DataBinding. De manera clásica, la unión de datos se utilizaba dentro de las
aplicaciones para aprovechar los datos almacenados en las bases de datos.
La unión de datos de Windows Forms le permite acceder a los datos desde bases de datos, así como a los
datos en otras estructuras, como arreglos y colecciones (suponiendo que se han cumplido un mínimo de
requerimientos).
En Windows Forms, puede unir una amplia gama de estructuras, desde sencillos (arreglos) hasta
complejas (filas de datos, vistas de datos, etc.). Como mínimo, una estructura que se pueda unir debe
soportar la interfaz IList.
Representa una vista personalizada que puede enlazar datos de un DataTable para ordenación, filtrado,
búsqueda, edición y exploración.
AllowDelete
Establece u obtiene un valor que indica si se permite eliminar.
AllowEdit
Obtiene o establece un valor que indica si se permite editar.
AllowNew
Obtiene o establece un valor que indica si se pueden agregar las nuevas filas mediante
el método AddNew.
RowFilter
Obtiene o establece la expresión utilizada para filtrar las filas que se ven en el
DataView.
Sort
Obtiene o establece las columnas y el criterio de ordenación de DataView.
Table
Obtiene o establece el DataTable de origen.
CurrentRows
La versión de fila Current de todas las filas Unchanged, Added y Modified. Éste es el
valor predeterminado.
Added
La versión de fila Current de todas las filas Added.
Deleted
La versión de fila Original de todas las filas Deleted.
ModifiedCurrent
La versión de fila Current de todas las filas Modified.
ModifiedOriginal
La versión de fila Original de todas las filas Modified.
None
Ninguna fila.
OriginalRows
La versión de fila Original de todas las filas Unchanged, Modified y Deleted.
Unchanged
La versión de fila Current de todas las filas Unchanged.
I.- Primero crearemos una clase con el nombre clsGenerica, en esta clase debe contener las siguiente
variable publicas:
Primero, definimos el método que nos devuelve un método para que devuelva un DataSet:
Segundo, definimos el método que nos devuelve un método para que devuelva un DataTable:
Tercero, definimos el método que nos devuelve un método para que devuelva un DataTable:
III.- Crear un formulario con el nombre siguiente frmVistas, el diseño debe contener los siguientes
controles, el diseño debe quedar como sigue:
LABORATORIO:
En el cual los filtros representaran la creación de las vistas respectivas para la muestra de los clientes y
luego para poder visualizar los estados de las filas de los clientes según los respectivos botones: