Vous êtes sur la page 1sur 10

Sistemas UNI. Instructor: V. Carlos, Segura P.

Microsoft Partner MCAD

LABORATORIO ADO.NET – 5.

Derechos Reservados, solo para ser usados dentro de la


institución.
Derechos de Autor

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.

La persecución de una reproducción no autorizada tiene como


consecuencia la cárcel y/o multas.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

5 ADO.NET

1 XML y ADO.NET, BindingManagerBase.


1.1 Empezando con XML.

XML al inicio estuvo basado en los siguientes objetivos: Compatibilidad con los estándares del W3C,
extensibilidad, arquitectura para aplicaciones distribuidas, rendimiento e integración estrecha con
ADO.NET.

XML proporciona a los programadores la capacidad de ofrecer datos estructurados de diferentes


aplicaciones al sistema local con el fin de trabajar localmente con ellos (aplicaciones distribuidas). NET
Framework nos proporciona un conjunto de clases que están organizadas en espacios de acuerdo a sus
funcionalidades ofrecidas, como lectura y escritura de documentos XML, validación de documentos XML,
navegación

En esta sección se ofrece una descripción general de la arquitectura de XML en .NET Framework. Los
objetivos de diseño de las clases XML en .NET Framework son los siguientes:

Elevada productividad
Basado en estándares
Compatibilidad multilingüe
Extensibilidad
Arquitectura conectable
Centrado en el rendimiento, la confiabilidad y la escalabilidad
Integración con ADO.NET

Para obtener más información acerca de arquitectura conectable, vea Objetivos de diseño XML en .NET
Framework.

.NET Framework ofrece la posibilidad de diseñar un conjunto integrado de clases XML e innovar en el
entorno XML. Las clases XML que se suministran son elementos básicos de .NET Framework. Estas clases
ofrecen una solución abierta, interoperable y compatible con estándares para superar las dificultades a las
que se enfrentan actualmente los programadores. Para más información sobre las clases XML en .NET
Framework, consulte los espacios de nombres System.Xml, System.Xml.XPath, System.Xml.Xsl, y
System.Xml.Schema.

Los objetivos de XML en .NET Framework son los siguientes:

Compatibilidad con los estándares del W3C.


Extensibilidad.
Arquitectura conectable.
Rendimiento.
Integración estrecha con ADO.NET.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

Recordando Como se Maneja XML con DataSet.

El DataSet nos proporciona métodos para el trabajo con XML, estos lo podemos definir tanto para lectura
como para escritura, a nivel de XML como de sus respectivos esquemas.

DataSet.ReadXml (Path)
Lee los datos XML del DataSet mediante la ruta del archivo especificado, el método ReadXml
ofrece una forma de leer sólo los datos o los datos de un documento XML.

DataSet.ReadXmlSchema(Path)
Lee un esquema XML en el DataSet, del archivo especificado. Se debe de usar el método
ReadXmlSchema para leer el esquema para un DataSet y ser mostrado el cual incluye definiciones
de tablas, relaciones y restricciones.

DataSet.WriteXml (Path)
Escribe los datos actuales mostrados desde el DataSet en el archivo indicado. El método
WriteXml ofrece solo de escribir sólo los datos, de un DataSet con todas las DataTables
incluidos, en un documento XML.

DataSet.WriteXmlSchema (Path)
Escribe la estructura del DataSet como un esquema XML dentro de la ruta indicada. Se debe
utilizar este método WriteXmlSchema para escribir el esquema para un DataSet en un documento
XML. El esquema XML se escribe mediante el estándar XSD.

Objetos para Trabajar con XML

XmlReader
Representa un lector que proporciona acceso rápido a datos XML, sin almacenamiento en
caché y con desplazamiento sólo hacia delante.

XmlReader proporciona acceso de sólo lectura y con desplazamiento sólo hacia delante a una
secuencia de datos XML. La clase XmlReader se ajusta al lenguaje de marcado extensible 1.0
(XML) y a los espacios de nombres de las recomendaciones de XML del Consorcio W3C.
El nodo actual hace referencia al nodo en el que está situado el lector. Para avanzar el lector,
utilice cualquiera de los métodos de lectura y las propiedades reflejan el valor del nodo actual.

XmlWriter.
XmlWriter proporciona un mecanismo genérico en un documento XML en un espacio
subyacente. Este espacio puede ser cualquier cosa desde un archivo si se utiliza
XmlTextWriter hasta un XmlDocument si se utiliza XmlNodeWriter.

El uso de XmlWriter como parámetro para métodos que devuelven XML proporciona una
manera robusta de admitir una amplia variedad de posibles tipos de devolución, entre los que
se incluyen secuencias de archivos, cadenas e instancias de XmlDocument. Como su nombre
implica, XmlWriter sólo sirve para escribir XML y no se puede utilizar para leer o procesar
XML.

XmlDocument.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

XmlDocument es una implementación del modelo de objetos de documento de W3C (DOM).


DOM es una representación en memoria de un documento XML compuesto por un árbol
jerárquico de objetos XmlNode que representan componentes del documento XML, como
elementos, atributos y nodos de texto. El principal inconveniente de DOM es que su diseño
requiere que se cargue en memoria todo el documento XML.

XPathNavigator.
XPathNavigator es un cursor de sólo lectura a través de orígenes de datos XML. Un cursor
XML funciona como una lente que sólo enfoca un nodo XML a la vez, incluso el cursor se puede
colocar en cualquier parte del documento XML en cualquier momento.

XPathNavigator también es un buen candidato para la implementación de una fachada XML a


través de datos que no sean XML, ya que permite construir las vistas XML de un origen de
datos de manera instantánea sin que sea necesario convertir todo el origen de datos en un
árbol XML.

Validando un XML bien Definido.

I.- Crear una carpeta en el proyecto con el nombre Archivos:

II.- Crear un formulario frmValidarXML con el siguiente diseño:

II.- En el ámbito general del formulario crear las siguientes variables:

III.- En el load del formulario debe crear lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

IV.- Para crear el XML:

IV.- Para crear el Esquema:

V.- Probar la creación del XML y Esquema y actualizar el explorador de soluciones:

VI.- En el botón validar colocamos lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

VII.- Probar nuevamente y ejecutar el botón Validar, finalizado esto abrir el archivo XML y cambiar el
nombre del DataSet “Proveedores” por el de “MisProveedores”, ejecutar y seleccionar el botón validar.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

1.2 Manejo de BindingManagerBase.

BindingMangerBase
Este objeto se encarga de administrar un conjunto de objetos de enlace Binding, obtenidos o
devueltos mediante un objeto a través del BindingContext.

BindingContext
Este es una propiedad de la clase Form que representa el contexto de enlace a datos
establecido en los controles del formulario, es decir contiene toda la información de enlaces
establecida entre los controles y objetos proveedores de datos. Devuelve un objeto de tipo
BindingManagerBase.

Data Binding - Simple


Los Data Binding consiste en una asociación entre un control de usuario que puede mostrar un
dato y el objeto que actúa como contenedor de datos, como por ejemplo el enlace entre un
control TextBox y un objeto DataColumn de una DataTable de un DataSet.

TextBox Campo 1

Campo 1

DataTable

Data Binding - Complejo


Al igual que el anterior este tipo de enlace es posible entre un control que puede actuar como
interfaz o visualizador de datos debido a que dispone de la capacidad de mostrar varios o
todos los datos, como lo es un DataGridView o en los capítulos anteriores lo hicimos con un
ListBox.

DataSource
DataGridView

DataTable

Binding
Esta clase permite crear un enlace hacia un control indicando algunos parámetros, donde el
primer parámetro es la propiedad de tipo de objeto, el siguiente parámetro es el objeto origen
que contiene todos los datos de tipo DataSource y el tercer parámetro es el nombre del campo
origen que se va asociar.

Como se debe de trabajar con estos Objetos:

Primero:
Definir a nivel del formulario una variable que referencia a un objeto DataSet, de ésta manera
crearemos un enlace de datos bidireccional, por lo que las modificaciones efectuadas en los
valores de los campos enlazados, se almacenarán en el origen de datos, en éste caso, en el
objeto DataSet creado, que será un objeto desconectado de la propia base de datos, lo que
significa que los datos de la base no se actualizarán de manera automática, permaneciendo
intactos.

Segundo:
Declarar en el módulo una variable privada del tipo BindingManagerBase, la cual contendrá
todos los objetos Binding que se encuentren asociados a un mismo origen de datos y
relacionados al control que se desee asociar, hacia el contenedor que en nuestro caso será el
objeto DataSet mencionado en el punto anterior.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

Tercero:
Enlazar los controles con los campos de la base de datos, creando el correspondiente objeto
Binding mediante el método Add de la colección DataBindings. Dicho método acepta el
nombre de la propiedad del control enlazado (generalmente la propiedad Text), la referencia al
origen de datos (el objeto DataSet), y el nombre del campo de la tabla de la base de datos, en
el formato NombreTabla.NombreCampo.

Esquema de Uso de los Objetos

BindingManagerBase

TextBox

Binding DataBindings

USER
Text DataTable ColumNam
e
DataSet

DataTable

I.- Crear el siguiente formulario con el nombre frmBinding, con el siguiente diseño.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

II.- Se debe crear las siguiente variables en el formulario:

Dim Dt As New DataTable


Dim xCursor As BindingManagerBase

III.- En el load del formulario se debe crear lo siguiente:

IV.- En el botón de desplazamiento colocamos lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner MCAD

Laboratorio:

I.- Implementar los siguientes formularios

Y para las vistas generadas:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS