ado net certificacion 2013

103
Ado.Net 3.0 Cristian Sanchez Flores Cristian Sanchez Flores MCP, MCTS, MCPD, MCT MCP, MCTS, MCPD, MCT [email protected] [email protected] Visual Studio 2008

Upload: xtiansanchez2015

Post on 21-Feb-2017

184 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Ado net certificacion 2013

Ado.Net 3.0Cristian Sanchez FloresCristian Sanchez FloresMCP, MCTS, MCPD, MCTMCP, MCTS, MCPD, [email protected]@gmail.com

Visual Studio 2008

Page 2: Ado net certificacion 2013

Introducción al Acceso de Introducción al Acceso de DatosDatos

Para el Almacenamiento de Datos se Para el Almacenamiento de Datos se emplea un metodo especifico de emplea un metodo especifico de construir una unidad de informacion .construir una unidad de informacion .Los medios de almacenamiento de Los medios de almacenamiento de datos pueden venir en diferentes datos pueden venir en diferentes formatos, entre ellos podemos formatos, entre ellos podemos mencionar:mencionar:

Page 3: Ado net certificacion 2013

Introducción al Acceso de Introducción al Acceso de DatosDatos

Tipo de Tipo de AlmacenamienAlmacenamien

toto

CaracteristicasCaracteristicas EjemploEjemplo

No EstructuradoNo Estructurado Los Datos no tienen un orden Los Datos no tienen un orden LogicoLogico

Memorandus simples.Memorandus simples.

Estructurado, No Estructurado, No JerarquicoJerarquico

Los datos estan separadosen Los datos estan separadosen unidades, pero las unidades se unidades, pero las unidades se encuentran estrictamente encuentran estrictamente ordenados.ordenados.

Archivos separados por Archivos separados por comas o caracteres tab, comas o caracteres tab, hojas electronicas de hojas electronicas de Excel, etc.Excel, etc.

JerarquicosJerarquicos Los datos estan organizados en Los datos estan organizados en una estructura tipo arbol, donde una estructura tipo arbol, donde los nodos pueden contener otros los nodos pueden contener otros nodosnodos

Documentos XMLDocumentos XML

Base de Datos Base de Datos RelacionalRelacional

Los datos estan organizados en Los datos estan organizados en tablas, con columnas que tablas, con columnas que contienen un tipo especifico de contienen un tipo especifico de datos y las filas que contienen un datos y las filas que contienen un simple registro. Las tablas pueden simple registro. Las tablas pueden relacionarse con otras tablas que relacionarse con otras tablas que contengan datos comunes.contengan datos comunes.

SQL Server, Oracle, SQL Server, Oracle, Microsoft Access.Microsoft Access.

Base de Datos Base de Datos Orientada a Orientada a ObjetosObjetos

Los datos estan organizados como Los datos estan organizados como objetosobjetos

Objectivity/DBObjectivity/DB

Page 4: Ado net certificacion 2013

Introducción al Acceso de Introducción al Acceso de DatosDatos

ADO .NET, puede soportar el acceso a ADO .NET, puede soportar el acceso a cualquiera de los tipos de repositorios cualquiera de los tipos de repositorios que se especificaron en la tabla que se especificaron en la tabla anterior.anterior.ADO .NET, puede trabajar en dos ADO .NET, puede trabajar en dos entornos de trabajo:entornos de trabajo:

Entorno ConectadoEntorno ConectadoEntorno DesconectadoEntorno Desconectado

Page 5: Ado net certificacion 2013

Entorno ConectadoEntorno ConectadoDurante mucho tiempo las Durante mucho tiempo las aplicaciones que requerian el empleo aplicaciones que requerian el empleo de datos lo hacian a traves de un de datos lo hacian a traves de un entorno conectado de datos, lo cual entorno conectado de datos, lo cual significa que un usuario y/o aplicacion significa que un usuario y/o aplicacion esta conectado al origen de datos esta conectado al origen de datos constantemente.constantemente.Un escenario conectado ofrece como Un escenario conectado ofrece como beneficio:beneficio:

Un entorno seguro de facil Un entorno seguro de facil mantenimiento.mantenimiento.Se puede controlar facilmente la Se puede controlar facilmente la concurrencia.concurrencia.

Page 6: Ado net certificacion 2013

Entorno ConectadoEntorno ConectadoPero a su vez este modo de trabajo Pero a su vez este modo de trabajo nos puede presentar algunas nos puede presentar algunas desventajas:desventajas:

Requiere de una conexion de Red Requiere de una conexion de Red Permanente.Permanente.Afecta la escabilidad de la aplicación.Afecta la escabilidad de la aplicación.

Page 7: Ado net certificacion 2013

Entorno DesconectadoEntorno DesconectadoUn entorno desconectado permite al Un entorno desconectado permite al usuario no estar conectado usuario no estar conectado constantemente al servidor a la base constantemente al servidor a la base de datos. Los usuarios moviles que de datos. Los usuarios moviles que emplean que emplean computadoras emplean que emplean computadoras portatiles o algun dispositivo PDA son portatiles o algun dispositivo PDA son los principales usuarios de entornos los principales usuarios de entornos desconectados.desconectados.

Page 8: Ado net certificacion 2013

Entorno DesconectadoEntorno DesconectadoUn entorno desconectado provee las Un entorno desconectado provee las siguientes ventajas:siguientes ventajas:

El usuario puede trabajar todo el tiempo El usuario puede trabajar todo el tiempo que lo considere necesario, y puede que lo considere necesario, y puede conectarse al origen de datos en el conectarse al origen de datos en el momento que requiera procesar su momento que requiera procesar su información.información.Otros usuarios pueden emplear la Otros usuarios pueden emplear la conexion.conexion.Un entorno desconectado provee Un entorno desconectado provee escabilidad y performance a las escabilidad y performance a las aplicaciones.aplicaciones.

Page 9: Ado net certificacion 2013

Entorno DesconectadoEntorno DesconectadoUn entorno desconectado provee las Un entorno desconectado provee las siguientes desventajas:siguientes desventajas:

Los datos no estan actualizados siempreLos datos no estan actualizados siempreLos conflictos al actualizar datos pueden Los conflictos al actualizar datos pueden ocurrir y deben solucionarse.ocurrir y deben solucionarse.

Page 10: Ado net certificacion 2013

Modelos de Modelos de Aplicaciones de Aplicaciones de Acceso a DatosAcceso a Datos

Page 11: Ado net certificacion 2013

Modelos de Aplicaciones Modelos de Aplicaciones de Acceso a Datosde Acceso a Datos

Los modelos de aplicaciones de Los modelos de aplicaciones de acceso a datos están relacionados a la acceso a datos están relacionados a la evolución de las aplicaciones y evolución de las aplicaciones y computadores desde la alta computadores desde la alta distribución.distribución.Debido a que el numero de usuarios y Debido a que el numero de usuarios y la cantidad de datos se incrementa, el la cantidad de datos se incrementa, el modelo de acceso de datos puede modelo de acceso de datos puede determinarse desde un simple usuario determinarse desde un simple usuario sobre una aplicación sencilla hasta sobre una aplicación sencilla hasta múltiples usuarios consultando múltiples usuarios consultando información sobre Internet.información sobre Internet.

Page 12: Ado net certificacion 2013

Modelo de CapasModelo de CapasUna capa es un nivel logico sobre el Una capa es un nivel logico sobre el cual residen los componentes de una cual residen los componentes de una aplicación.aplicación.Las capas pueden residir sobre una o Las capas pueden residir sobre una o mas computadoras o capas fisicas.mas computadoras o capas fisicas.El numero de capas esta referido al El numero de capas esta referido al numero de niveles no al numero de numero de niveles no al numero de computadores sobre el cual se puede computadores sobre el cual se puede distribuir los servicios.distribuir los servicios.

Page 13: Ado net certificacion 2013

Modelo de CapasModelo de CapasLas capas comunmente empleadas en Las capas comunmente empleadas en el desarrollo son:el desarrollo son:

ClienteCliente: Tambien conocida como capa de : Tambien conocida como capa de presentación o servicios de usuario. Esta presentación o servicios de usuario. Esta capa contiene la interfase con el usuario.capa contiene la interfase con el usuario.NegociosNegocios: contiene la logica que : contiene la logica que intereactua con el origen de datos, intereactua con el origen de datos, contiene la parte de la aplicación que contiene la parte de la aplicación que interactua con los datos.interactua con los datos.DatosDatos: contiene la información que la : contiene la información que la capa de negocios emplea en las capa de negocios emplea en las aplicaciones.aplicaciones.InteroperatibilidadInteroperatibilidad: contiene la logica que : contiene la logica que permite la interaccion entre aplicaciones permite la interaccion entre aplicaciones que corren sobre diferentes sistemas que corren sobre diferentes sistemas operativos o que emplean diferentes operativos o que emplean diferentes tipos de datos, por ejemplo XML Web tipos de datos, por ejemplo XML Web Service.Service.

Page 14: Ado net certificacion 2013

1 Capa – Aplicación 1 Capa – Aplicación MoliticaMoliticaEste modelo tipicamente involucra un Este modelo tipicamente involucra un

solo usuario y todas las capas sobre solo usuario y todas las capas sobre un mismo computador. un mismo computador. Ventajas:Ventajas: Debido a que todo se Debido a que todo se encuentra en un solo lugar, todos los encuentra en un solo lugar, todos los componentes son facilmente componentes son facilmente accesibles.accesibles.Desventajas:Desventajas: La actualizacion de los La actualizacion de los Programas requiere que el codigo Programas requiere que el codigo fuente sea modificado, recompilado y fuente sea modificado, recompilado y redistribuido por cada usuario.redistribuido por cada usuario.

Page 15: Ado net certificacion 2013

2 Capas – Cliente / 2 Capas – Cliente / ServidorServidorLa capa de usuario y la capa de La capa de usuario y la capa de

negocios residen sobre una capa, los negocios residen sobre una capa, los servicios de datos en otra. servicios de datos en otra. Ventajas:Ventajas: Provee cierta separacion de Provee cierta separacion de funciones.funciones.Desventajas:Desventajas: Dificultad para escala Dificultad para escala debido a que el cliente contiene las debido a que el cliente contiene las capas de usuario y de negocio. capas de usuario y de negocio. Presentan problemas para el Presentan problemas para el mantenimiento y distribucion.mantenimiento y distribucion.

Page 16: Ado net certificacion 2013

3 Capas 3 Capas Cada servicio se encuentra en una Cada servicio se encuentra en una capa diferente. capa diferente. Ventajas:Ventajas: Una buena separación de Una buena separación de funciones. La capa de cliente se funciones. La capa de cliente se convierte en un “Cliente Ligero” convierte en un “Cliente Ligero” debido a que contiene solo la logica debido a que contiene solo la logica cliente o presentacion.cliente o presentacion.Desventajas:Desventajas: Mas complejo de Mas complejo de administrar, la seguridad no es tan administrar, la seguridad no es tan flexible como en las aplicaciones de n flexible como en las aplicaciones de n capas.capas.

Page 17: Ado net certificacion 2013

N Capas N Capas Una base de datos de nivel Una base de datos de nivel empresarial a la cual tienen acceso empresarial a la cual tienen acceso multiples clientes a traves de una multiples clientes a traves de una aplicación servidor. Nuevas capas aplicación servidor. Nuevas capas pueden agregarse segun se requiera. pueden agregarse segun se requiera. Ventajas:Ventajas: Permite que diferentes Permite que diferentes aplicaciones sobre distintos sistemas aplicaciones sobre distintos sistemas operativos puedan interactuar con el operativos puedan interactuar con el usuario y los datos.usuario y los datos.Desventajas:Desventajas: Usos de Seguridad. Usos de Seguridad.

Page 18: Ado net certificacion 2013

Diseño: EvoluciónDiseño: Evolución Distribuida

Reglas

Presentación

Datos

3 Capas

Datos

Reglas

Presentación

Datos

Reglas

Presentación

Monolítica

Reglas

Presentación

Datos

Cliente/Servidor

Datos

Presentación

Reglas

Page 19: Ado net certificacion 2013

Introducción a ADO.NETIntroducción a ADO.NETADO.NET es la evolución natural del ADO.NET es la evolución natural del modelo ADO; se basa en el desarrollo modelo ADO; se basa en el desarrollo de aplicaciones en de aplicaciones en nn capas, con XML capas, con XML como pilar central. como pilar central. ADO .NET es un nuevo conjunto de ADO .NET es un nuevo conjunto de clases que proporciona servicios de clases que proporciona servicios de acceso a datos a los acceso a datos a los programadores .NET. programadores .NET. Es una parte integral de la clase Es una parte integral de la clase Framework, que contiene toda la Framework, que contiene toda la biblioteca de clases que Microsoft biblioteca de clases que Microsoft ofrece con .NET, incluidas las clases ofrece con .NET, incluidas las clases fundamentales para los tipos de fundamentales para los tipos de sistemas anteriores, como los de E/S, sistemas anteriores, como los de E/S, redes, datos y XML.redes, datos y XML.

Page 20: Ado net certificacion 2013

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO.NET y XMLADO.NET y XML

ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet ToolkitWindowsWindows

FormsForms

Common Language SpecificationCommon Language Specification

VBVB C++C++ C#C# J#J# ……Visual Studio .NETVisual Studio .NET

ADO.netADO.net

Page 21: Ado net certificacion 2013

Introducción a ADO.NETIntroducción a ADO.NET¿Qué es ADO.NET?¿Qué es ADO.NET?

Evolución natural de ADOEvolución natural de ADOInteroperabilidadInteroperabilidad

Basado en estándares como XML, XSDBasado en estándares como XML, XSDEscalabilidad Escalabilidad

Objetivos distribuidos, escenarios web Objetivos distribuidos, escenarios web desconectadosdesconectados

ModelosModelosArquitectura distribuida reemplaza Arquitectura distribuida reemplaza cliente/servidorcliente/servidorIntegración de datos de múltiples y Integración de datos de múltiples y diferentes fuentesdiferentes fuentes

Page 22: Ado net certificacion 2013

IntroducciónIntroducciónArquitectura de ADO.NETArquitectura de ADO.NET

Capa NegocioCapa Negocio Capa DatosCapa Datos

Capa PresentaciónCapa PresentaciónWindows Forms

Web Forms

Business to Business

Data Object (Class)

DataSet

DataSetDataSet

InternetInternetIntranetIntranet Data AdapterData Adapter

Data AdapterData Adapter

(BizTalk, for example)

XML

MyApp.Exe

IE

Page 23: Ado net certificacion 2013

Introducción a ADO.NETIntroducción a ADO.NETDatos gestionados. Visión Datos gestionados. Visión generalgeneral

Proveedor GestionadoProveedor Gestionado

DataReaderDataReader

CommandCommandConnectionConnection

SyncSync

Controles,Controles,Diseñadores,Diseñadores,Code-gen, etcCode-gen, etc

DataSetDataSet

XmlReaderXmlReaderXmlText-XmlText-ReaderReader

XmlNode-XmlNode-ReaderReader

XSL/T, X-Path,XSL/T, X-Path,Validación, etcValidación, etc

XmlData-XmlData-DocumentDocument

DataAdapterDataAdapter

Page 24: Ado net certificacion 2013

Introducción a Introducción a ADO.NETADO.NETConceptos GeneralesConceptos Generales

El Modelo de Objeto de Ado .NetEl Modelo de Objeto de Ado .NetObjeto Data SetObjeto Data SetProveedores AdministradosProveedores Administrados

NameSpaces relacionados con NameSpaces relacionados con ADO .NetADO .Net

System.DataSystem.DataSystem.Data.OledbSystem.Data.OledbSystem.Data.SqlSystem.Data.SqlSystem.Data.SqlClientSystem.Data.SqlClient

Page 25: Ado net certificacion 2013

Beneficios de ADO .NetBeneficios de ADO .NetInteroperabilidad por el uso de XMLInteroperabilidad por el uso de XML

Estandar abiertoEstandar abiertoLos Datos se Describen a si mismoLos Datos se Describen a si mismoSe usa en todas las transferencias de Se usa en todas las transferencias de datos en ADO .NETdatos en ADO .NET

Escabilidad por el DataSet Escabilidad por el DataSet desconectadodesconectado

No se mantienen conexiones por No se mantienen conexiones por periodos largosperiodos largosNo se producen Bloqueos en la Base de No se producen Bloqueos en la Base de DatosDatosTrabaja como la Web “Toco y me Voy”Trabaja como la Web “Toco y me Voy”

Facilidad de MantenimientoFacilidad de MantenimientoSeparacion de la Logica de datos y la Separacion de la Logica de datos y la interfaz del usuariointerfaz del usuario

Page 26: Ado net certificacion 2013

Conceptos centrales y Conceptos centrales y arquitectura arquitectura

El modelo de Objetos de ADO.NET El modelo de Objetos de ADO.NET ObjetosObjetos DataSet DataSet Proveedores administrados Proveedores administrados

Namespaces relacionados con Namespaces relacionados con ADO.NET ADO.NET

System.Data System.Data System.Data.OleDb System.Data.OleDb System.Data.Internal System.Data.Internal System.Data.Sql System.Data.Sql System.Data.SqlTypesSystem.Data.SqlTypes

Page 27: Ado net certificacion 2013

Namespace de DatosNamespace de DatosNamespaceNamespace DescripcionDescripcionSystem.DataSystem.Data Incluye las clases que hacen posible Incluye las clases que hacen posible

realizar el trabajo en modo realizar el trabajo en modo desconectado en la arquitectura de desconectado en la arquitectura de ADO .NETADO .NET

System.Data.CoSystem.Data.Commonmmon

Provee las clases e interfaces Provee las clases e interfaces heredadas que permiten la heredadas que permiten la implementación de los .NET Data implementación de los .NET Data Providers.Providers.

System.Data.SqlSystem.Data.SqlClientClient

Proveedor para SQL Server.Proveedor para SQL Server.

System.Data.OleSystem.Data.OleDbDb

Proveedor para OLE-DB para NET.Proveedor para OLE-DB para NET.

System.Data.SqlSystem.Data.SqlTypesTypes

Las clases y estructuras nativas de Las clases y estructuras nativas de SQL ServerSQL Server

System.XmlSystem.Xml Clases, interfases de XML.Clases, interfases de XML.

Page 28: Ado net certificacion 2013

System DataSystem DataContiene las bases de ADO.NET Contiene las bases de ADO.NET Namespace centrado en Datos Namespace centrado en Datos Provee los mecanismos para trabajar Provee los mecanismos para trabajar con y sobre los datos con y sobre los datos

Clases y métodos para manipular los Clases y métodos para manipular los datos datos Habilidad para crear vistas de los datos Habilidad para crear vistas de los datos Formas para representar lógicamente los Formas para representar lógicamente los datos datos Permite la utilización de XML para ver, Permite la utilización de XML para ver, compartir y almacenar datos compartir y almacenar datos

Page 29: Ado net certificacion 2013

Namespaces de DatosNamespaces de DatosPara poder emplear el SQLClient en el Para poder emplear el SQLClient en el editor de codigo de su aplicación debe editor de codigo de su aplicación debe colocar la siguiente instrucción:colocar la siguiente instrucción:

Page 30: Ado net certificacion 2013

EjemploEjemploEl siguiente ejemplo permite poblar El siguiente ejemplo permite poblar una Dataset desde una Base de Datos una Dataset desde una Base de Datos de SQL Server y luego enlaza la de SQL Server y luego enlaza la información contenida en uno de los información contenida en uno de los DataTable del DataSet al origende DataTable del DataSet al origende datos del control dataGrid.datos del control dataGrid.

Page 31: Ado net certificacion 2013

EjemploEjemplo

Page 32: Ado net certificacion 2013

EjemploEjemplo

Page 33: Ado net certificacion 2013

Accediendo a Entornos Accediendo a Entornos ConectadosConectados

En escenarios conectados los En escenarios conectados los recursos estan disponibles hasta recursos estan disponibles hasta cerrar la coneccion.cerrar la coneccion.

a.a. Abrir ConexiónAbrir Conexiónb.b. Ejecutar el ComandoEjecutar el Comandoc.c. Procesar las Filas de un ReaderProcesar las Filas de un Readerd.d. Cerrar el ReaderCerrar el Readere.e. Cerrar la ConexionCerrar la Conexion

Page 34: Ado net certificacion 2013

Accediendo a Entornos Accediendo a Entornos DesconectadosDesconectados

En entornos desconectados los En entornos desconectados los recursos no estan disponibles recursos no estan disponibles mientras se procesa la informacion.mientras se procesa la informacion.

a.a. Abrir ConexiónAbrir Conexiónb.b. Poblar el DataSetPoblar el DataSetc.c. Cerrar la ConexionCerrar la Conexiond.d. Procesar el DataSetProcesar el DataSete.e. Abrir la ConexiónAbrir la Conexiónf.f. Actualizar el Origen de DatosActualizar el Origen de Datosg.g. Cerrar la ConexionCerrar la Conexion

Page 35: Ado net certificacion 2013

Modelo de ObjetosModelo de ObjetosDataSetDataSetProveedores Administrados Proveedores Administrados

Page 36: Ado net certificacion 2013

Ciclo de Vida del DataSetCiclo de Vida del DataSet

OriginalDataStore

DataSet

Table1

Table2

Establece las Establece las relacionesrelaciones

DataSet

Table1

Table2

Hace cambios a Hace cambios a los datoslos datos

DataSetTable1

Table2

Actualiza los cambios Actualiza los cambios con el Managedcon el ManagedProviderProvider

Extrae tablasExtrae tablasCon el ManagedCon el Managed

ProviderProvider

Page 37: Ado net certificacion 2013

Ciclo de Vida del DataSetCiclo de Vida del DataSetDataSet

Table1

Table2

DataSet

Table1

Table2

DataSetTable1

Table2

OriginalDataStore

Establece las relaciones

Hace cambios a los datos

Actualiza los cambios Actualiza los cambios con el Managedcon el ManagedProviderProvider

Extrae tablasExtrae tablasCon el ManagedCon el Managed

ProviderProvider

Operaciones Operaciones ConectadasConectadas

Page 38: Ado net certificacion 2013

Ciclo de Vida del DataSetCiclo de Vida del DataSetDataSet

Table1

Table2

DataSet

Table1

Table2

DataSetTable1

Table2

OriginalDataStore

Establece las Establece las relacionesrelaciones

Hace cambios a Hace cambios a los datoslos datos

Actualiza los cambios con el ManagedProvider

Extrae tablasCon el Managed

ProviderOperaciones Operaciones DesconectadasDesconectadas

Page 39: Ado net certificacion 2013

System.Data System.Data Contiene las bases de ADO.NET Contiene las bases de ADO.NET Namespace centrado en Datos Namespace centrado en Datos Provee los mecanismos para trabajar Provee los mecanismos para trabajar con y sobre los datos con y sobre los datos

Clases y métodos para manipular los Clases y métodos para manipular los datos datos Habilidad para crear vistas de los datos Habilidad para crear vistas de los datos Formas para representar lógicamente los Formas para representar lógicamente los datos datos Permite la utilización de XML para ver, Permite la utilización de XML para ver, compartir y almacenar datoscompartir y almacenar datos

Page 40: Ado net certificacion 2013

System.DataSystem.Data

DataTable

DataRow

DataRelation

DataColumn

DataSetView

DataSet

Contiene las clases “principales” de ADO.NETPersistencia en memoria de los datos

Persistencia en memoria de la tabla de la base de datos

Permite manipular una fila en un DataTable

Permite definir columnas en un DataTable

Puede relacionar 2 DataTables entre sí

Presenta una vista del DataSet

Page 41: Ado net certificacion 2013

DataSet Tables

DataTable

System.Data y DataSet

Relations

DataRelation

DataRelation

DataRow(s)

DataColumn

Constraint(s)

DataTable

DataTable

DataView

Page 42: Ado net certificacion 2013

System.Data - DataSet• Un repositorio en memoria de datos desde

un origen • Forma común de representar y manipular

datos Contendor universal No sólo para base de datos

• Representación lógica o física de los datos; depende de: La consulta / Conjunto de resultados Donde existen DataTables y Relations

• Diseñado para estar desconectado del origen Conectar, ejecutar la consulta, desconectar

• Se utiliza XML para leer y almacenar, tanto los datos como el Esquema

Page 43: Ado net certificacion 2013

System.Data - DataSet

• Se usan colecciones para agregar Tablas y relaciones

• Propiedades importantes: Tables:

Devuelve la colección de objetos DataTable

Relations:Devuelve la colección de DataRelations

Relacionadas con XML

Page 44: Ado net certificacion 2013

System.Data - DataSet

Contenedor Universal de datos DataSet: No sólo para bases de datos

Page 45: Ado net certificacion 2013

System.Data - DataTable• Puede ser vinculado a una tabla física de una

base • Y relacionarla con otras a través de

DataRelations • Bloqueo concurrente optimista • Propiedades importantes:

Columns: Devuelve la colección de DataColumns como ColumnsCollection

Rows: Devuelve objetos DataRow como una RowsCollection

ParentRelations: Devuelve una RelationsCollection

Constraints: Devuelve la ConstraintsCollection de la tabla

DataSet: Devuelve el conjunto de datos de la DataTable

PrimaryKey: Obtiene los DataColumns que conforman la clave primaria de la tabla

Page 46: Ado net certificacion 2013

System.Data—DataSet y DataTable

• Crear una DataTable y agregarla al DataSet

DataSet ds = new DataSet(); // Crear el objeto “Clientes”. DataTable dt= new DataTable( “Clientes” ); // Crear y agregar columnas // 1. Explícitamente DataColumn dc = new DataColumn( “ID”, Int16 ); dt.Columns.Add( dc ); // 2. Implícitamente. dt.Columns.Add( “Nombre”, String ); dt.Columns.Add( “Apellido”, String ); // Agregar el objeto DataTabla al DataSet ds.Tables.Add( dt );

Page 47: Ado net certificacion 2013

System.Data - DataRelation • Utilizada para crear relaciones lógicas

Entre dos (2) objetos DataTable Requiere un objeto DataColumn de cada

DataTable El tipo de datos (DataType) de ambas

DataColumns debe ser el mismo No es posible relacionar un Int32 con un

String Se le asigna un nombre

DataRelation dr=new DataRelation _(“miRelacion”,...)

• Permite navegación por relaciones • RelationsCollection contiene todas las

DataRelations Se accede a través de la propiedad Relations

del DataSet

Page 48: Ado net certificacion 2013

System.Data - DataRelation• Como crear un DataRelation:

Obtener los objetos DataColumn a relacionar

Crear y nombrar un DataRelation usando las columnas

Agregar la relación al DataSet// Obtener las columnas a utilizar...DataColumn colPadre, colHija; colPadre= DataSet.Tables["Clientes"].Columns["ID"];colHija = DataSet.Tables[“Pedidos“].Columns["IDCliente"];

// Crear el DataRelation llamado “CliPedidos”... DataRelation dr; dr = New DataRelation(“CliPedidos", colPadre, colHija); // Agregar la relación al DataSet... ds.Relations.Add( dr );

Page 49: Ado net certificacion 2013

DataSet Tables

DataTable

DataSet, DataRelation, Data…Views

Relations

DataRelation

DataRelation

DataRow(s)

DataColumn

Constraint(s)

DataTable

DataTable

DataView

Page 50: Ado net certificacion 2013

Trabajando con Wizard Trabajando con Wizard propios del Visual Studio – propios del Visual Studio –

Ejemplo con la base de datos Ejemplo con la base de datos Northwind del Sql Server Northwind del Sql Server

20002000Generar una consulta con Generar una consulta con filtro, utilizando las tablas filtro, utilizando las tablas Orders y Order DetailsOrders y Order Details

EjemploEjemplo

Page 51: Ado net certificacion 2013

DataSetDataSet

DataTableDataTable

DataTableDataTable

DataRowDataRow

DataColumnDataColumn

RelationsRelations

ConstraintsConstraintsXML SchemaXML Schema

DatasetDataset

Page 52: Ado net certificacion 2013

Gestiona Intercambio De Datos Entre Gestiona Intercambio De Datos Entre DataSet y Data SourceDataSet y Data Source

Llena (DataSet o DataTable)Llena (DataSet o DataTable)Actualiza (DataSet o DataTable)Actualiza (DataSet o DataTable)

Provee Relaciones Entre Tablas Y Provee Relaciones Entre Tablas Y ColumnasColumnasUsuario Puede Saltarse Los Comandos Usuario Puede Saltarse Los Comandos Insert/Update/DeleteInsert/Update/Delete

Disponible Componente AutogenDisponible Componente AutogenPermite A Un Solo DataSet Ser Permite A Un Solo DataSet Ser Populado Desde Múltiples Populado Desde Múltiples DatasourcesDatasources

DataAdapterDataAdapter

Page 53: Ado net certificacion 2013

DataAdapterDataAdapter

SelectCommandSelectCommand

InsertCommandInsertCommand

UpdateCommandUpdateCommand

DeleteCommandDeleteCommand

TableMappingsTableMappings

DatabaseDatabase

DataSetDataSet

DataAdapterDataAdapter

Page 54: Ado net certificacion 2013

DataSetDataSet demodemo

Page 55: Ado net certificacion 2013

ADO.NET y Proveedores Administrados

• Una colección de clases que permiten acceder a los orígenes de datos: Microsoft SQL Server™ 2000, SQL Server

7, y MSDE

Otros proveedores OLEDB Por ejemplo: Oracle

Establece la conexión entre los DataSets y el repositorio de los datos

• Dos proveedores base: OLEDB: Namespace

System.Data.OleDb SQL Server: Namespace

System.Data.Sql

Page 56: Ado net certificacion 2013

Proveedores administrados

System.Data

.OleDb.SqlclientOleDbCommandOleDbConnectionOleDbDataReaderOleDbDataSetCommand

SqlCommandSqlConnectionSqlDataReader

SqlDataSetCommand

• Dependen deSystem.Data.InternalDataCollectionBase para varias clases heredadas

Page 57: Ado net certificacion 2013

Las clases Data Las clases Data Provider .NETProvider .NET

XxxConnection, por ej., XxxConnection, por ej., SqlConnectionSqlConnection

XxxTransaction, por ej., SqlTransactionXxxTransaction, por ej., SqlTransactionXxxError, por ej., SqlErrorXxxError, por ej., SqlError

XxxCommand, por ejemplo, XxxCommand, por ejemplo, SqlCommandSqlCommand

XxxParameter, por ej., SqlParameterXxxParameter, por ej., SqlParameterXxxDataReader, por ej., XxxDataReader, por ej., SqlDataReaderSqlDataReaderXxxDataAdapter, por ej., XxxDataAdapter, por ej., SqlDataAdapterSqlDataAdapter

Page 58: Ado net certificacion 2013

El modelo de objeto El modelo de objeto XxxDataAdapter XxxDataAdapter

sp_SELECT

XxxCommand

SelectCommand UpdateCommand InsertCommand DeleteCommand

XxxDataAdapter

XxxCommand XxxCommand XxxCommand

XxxConnection

sp_UPDATE sp_INSERT sp_DELETE

XxxDataReader

Page 59: Ado net certificacion 2013

Evolucion de ADO hacia Evolucion de ADO hacia ADO .NETADO .NET

Connection

ADO

ADO .NET

Command

Recordset

XxxConnection

XxxCommand

DataSet

XxxTransaction

XxxDataReader

XxxDataAdapter

Page 60: Ado net certificacion 2013

ADO .NET y XMLADO .NET y XMLADO .NET esta fuertemente integrado ADO .NET esta fuertemente integrado con XMLcon XML

2SQL query

XML Web Services

XML4 DataSetResults3

Data Source

Uso de XML en una aplicacion conectada con ADO .NET Cargar un XML en el arbol DOM , o usar DataReader

5 Updated XML DataSet 6 SQL updates

Request data1

Client

Usando XML en un entorno desconectado con ADO .NET

Page 61: Ado net certificacion 2013

Conectando a un Conectando a un Origen de DatosOrigen de Datos

Page 62: Ado net certificacion 2013

Que son los Data Que son los Data Providers .NET ?Providers .NET ?

Tipos de Data Providers .NETTipos de Data Providers .NET

SQL Server Data Provider .NET SQL Server Data Provider .NET OLE DB Data Provider .NET OLE DB Data Provider .NET ODBC Data Provider .NET ODBC Data Provider .NET

Page 63: Ado net certificacion 2013

Cuál Data Provider Cuál Data Provider deberíamos usar ?deberíamos usar ?

SQL Server Data Provider .NET SQL Server Data Provider .NET OLE DB Data Provider .NET OLE DB Data Provider .NET ODBC Data Provider .NET ODBC Data Provider .NET Guía para elegir un data provider .NETGuía para elegir un data provider .NET

Page 64: Ado net certificacion 2013

Defininiendo una Defininiendo una ConexionConexionTemas:Temas:

Seguridad en las Base de DatosSeguridad en las Base de Datos

Configurando un string de Configurando un string de conexion(connection string)conexion(connection string)

Page 65: Ado net certificacion 2013

Seguridad en las Bases de Seguridad en las Bases de DatosDatos

Usando seguridad en SQL Server Usando seguridad en SQL Server

Usando Autenticación de Windows Usando Autenticación de Windows

Usando Modo Mixto (Autenticacion de Usando Modo Mixto (Autenticacion de Windows y Autenticacion de SQL )Windows y Autenticacion de SQL )

Page 66: Ado net certificacion 2013

Configurando un string de Configurando un string de conexión(connection conexión(connection string)string)

Seteando un Connection StringSeteando un Connection StringProvider (solo para OLE DB )Provider (solo para OLE DB )Data SourceData SourceInitial CatalogInitial CatalogIntegrated SecurityIntegrated SecurityUser ID/PasswordUser ID/PasswordPersist Security InfoPersist Security Info

Visual Basic Example C# Example

Page 67: Ado net certificacion 2013

Configurando un string de Configurando un string de conexión(connection conexión(connection string)string)

Dim myConnection as New Dim myConnection as New SqlClient.SqlConnection() SqlClient.SqlConnection()

myConnection.ConnectionString = "User myConnection.ConnectionString = "User ID=sa;” &_ID=sa;” &_

““Password=me2I81sour2;” & _ Password=me2I81sour2;” & _ ““Initial Catalog=Northwind;” & _ Initial Catalog=Northwind;” & _ ““Data Source=mySQLServer;” & _ Data Source=mySQLServer;” & _ ““Connection TimeOut=30;" Connection TimeOut=30;"

Page 68: Ado net certificacion 2013

Construyendo Objetos Construyendo Objetos CommandCommand

QueQue ees s unun Objeto Objeto Command ?Command ?

Como crearComo crear un objetoun objeto Command Command

Que son los parametrosQue son los parametros en un en un Command Command ??

Como crearComo crear Parametros Parametros para un objetopara un objeto CommandCommand

Page 69: Ado net certificacion 2013

Que es un ObjetoQue es un Objeto Command ?Command ?UnUn objeto objeto command command es un referencia es un referencia

a una sentencia a una sentencia SQL SQL o a un o a un stored stored procedureprocedureProPropiedadespiedades

(Name), Connection, CommandType, (Name), Connection, CommandType, CommandText, CommandText, ParametersParameters

MétodMétodoossExecuteScalar, ExecuteNonQuery, ExecuteScalar, ExecuteNonQuery, ExecuteReader, ExecuteXmlReaderExecuteReader, ExecuteXmlReader

CódCódigoigo de ejemplode ejemplo: Crea: Creandondo unun SqlCommand SqlCommand Dim cmCategories As SqlCommand = New SqlCommand( _Dim cmCategories As SqlCommand = New SqlCommand( _

"SELECT * FROM Categories", cnNorthwind)"SELECT * FROM Categories", cnNorthwind)

Page 70: Ado net certificacion 2013

Como crear un Como crear un Stored Stored ProcedureProcedure

Server ExplorerServer ExplorerView, Server Explorer (Ctrl+Alt+S)View, Server Explorer (Ctrl+Alt+S)Crear una conexion a datosCrear una conexion a datosNuevo Stored ProcedureNuevo Stored ProcedureInsertar sentencias SQL ( Trans-SQL)Insertar sentencias SQL ( Trans-SQL)

Page 71: Ado net certificacion 2013

Como crear un objetoComo crear un objeto Command ObjectCommand Object

Server ExplorerServer ExplorerView, Server Explorer (Ctrl+Alt+S)View, Server Explorer (Ctrl+Alt+S)

ToolboxToolboxUsUsarar SqlConnection SqlConnection uu OleDbConnection OleDbConnectionUsUsarar SqlCommand SqlCommand uu OleDbCommand OleDbCommand

Page 72: Ado net certificacion 2013

DemoDemoProcedimientoProcedimientoAlmacenadoAlmacenado

Page 73: Ado net certificacion 2013

Que son los Parametros ? Que son los Parametros ? IntroducciIntroduccióónn

Las sentencias SQL y los Las sentencias SQL y los stored stored procedures procedures tienen parametros de tienen parametros de entrada(input), salida(output) y valores entrada(input), salida(output) y valores de retorno(return value)de retorno(return value)A través de la colección parameters de A través de la colección parameters de los objetos command podemos los objetos command podemos configurar, dando valores y recuperar configurar, dando valores y recuperar estosestos paramet parametrosrosSqlParameter, OleDbParameterSqlParameter, OleDbParameter

PropPropiedadesiedadesParameterName, DbType, Size, DirectionParameterName, DbType, Size, Direction

Page 74: Ado net certificacion 2013

Como crear Como crear ParametParametros ros para un objeto Cpara un objeto Commandommand

Como definir programaticamente los Como definir programaticamente los parámetrosparámetros

EEjemplojemploDim p1 As SqlParameter = New _Dim p1 As SqlParameter = New _

SqlParameter(“@CatName”, _SqlParameter(“@CatName”, _SqlDbType.NChar, 15)SqlDbType.NChar, 15)

p1.Direction = ParameterDirection.Outputp1.Direction = ParameterDirection.OutputcmdCountProds.Parameters.Add(p1)cmdCountProds.Parameters.Add(p1)

Graficamente con las herramientas Graficamente con las herramientas de de Visual Studio .NET Visual Studio .NET

Page 75: Ado net certificacion 2013

EEjecutando objetosjecutando objetos Command Command que retornan que retornan un solo valorun solo valor

Porqué rPorqué retetornar un solo valor en un ornar un solo valor en un CommandCommand??

ComoComo ejejecutecutar un ar un Command Command que que devuelva un solo valordevuelva un solo valor

Como recuperar parametrosComo recuperar parametros Output Output yy Return ValuesReturn Values

Page 76: Ado net certificacion 2013

Porqué retornar un solo Porqué retornar un solo valor en un valor en un Command?Command?

IntroducIntroduccciióónnADO .NET ADO .NET ees ms masas eficient eficientee queque een ADO, n ADO, donde se retorna un grupo de registrosdonde se retorna un grupo de registros

EEjemplosjemplosUniUnidades en dades en stock stock para un producto en para un producto en particularparticularCuantos Cuantos productproductooss hay hay??COUNT, MAX, MIN, AVERAGECOUNT, MAX, MIN, AVERAGE

Page 77: Ado net certificacion 2013

Como ejecutarComo ejecutar unun Command Command que devuelve que devuelve un solo valorun solo valor

IntroducIntroduccciióónnExecuteScalarExecuteScalar ret retornaorna un un valvalor de tipor de tipo o ObjectObject

EEjemplojemplocmProducts.Parameters("@ProdID").Value = 42cmProducts.Parameters("@ProdID").Value = 42cnNorthwind.Open()cnNorthwind.Open()Dim qty As Integer = _Dim qty As Integer = _

CType(cmProducts.ExecuteScalar(), CType(cmProducts.ExecuteScalar(), Integer)Integer)cnNorthwind.Close()cnNorthwind.Close()

Page 78: Ado net certificacion 2013

Como recuperar Como recuperar parametros parametros Output Output yy Return ValuesReturn Values

Como leer un parametro Como leer un parametro Output Output desde un objetodesde un objeto Command Command

cmd.Parameters("@CatName").Valuecmd.Parameters("@CatName").ValueComo obtener unComo obtener un Return Value Return Value de un de un Stored ProcedureStored Procedure

cmd.Parameters("@RETURN_VALUE").Valuecmd.Parameters("@RETURN_VALUE").Value

Page 79: Ado net certificacion 2013

DemoDemoejecutar ejecutar

ProcedimientoProcedimientoss

Page 80: Ado net certificacion 2013

EEjecutando jecutando Comandos Comandos que que devuelven filasdevuelven filasTemas a tratarTemas a tratar::

RetRetornando filasornando filasPropiedades y métodos de un Propiedades y métodos de un DataReader DataReader Como usar un objeto Como usar un objeto DataReader DataReader para para procesar un conjunto de resultadosprocesar un conjunto de resultados

Page 81: Ado net certificacion 2013

RetRetoornrnando filasando filasDataReaderDataReader

Read-only, forward-onlyRead-only, forward-onlyEl métodoEl método ExecuteReader ExecuteReader

Devolviendo un Devolviendo un DataReaderDataReaderPor. Ej.Por. Ej. SqlDataReader, OleDbDataReader SqlDataReader, OleDbDataReader

Page 82: Ado net certificacion 2013

Metodos y propiedades de Metodos y propiedades de un objeto un objeto DataReaderDataReader

Método Método Read Read Carga la proxima filaCarga la proxima filaDevuelve Devuelve True True si la fila existe osi la fila existe o False False si si no hay filasno hay filas

Método Método CloseClosePropiedad Propiedad ItemItemMétodos Métodos GetXxx , GetXxx , por ej.por ej., GetString, , GetString, GetInt32GetInt32

Page 83: Ado net certificacion 2013

Como usar el DataReader Como usar el DataReader para procesar filas como para procesar filas como resultadoresultado

Usando el objeto DataReader Usando el objeto DataReader

Page 84: Ado net certificacion 2013

Demo01Demo01yy

Demo02Demo02 DataReader DataReader

Page 85: Ado net certificacion 2013

EEjecutando mjecutando multipleultipless sentencias sentencias SQL SQL TemasTemas::

PorquéPorqué usar musar multipleultiples sentenciass sentencias SQL ? SQL ?

ComoComo Proces Procesar mar multipleultiples sentenciass sentencias SQL SQL

Page 86: Ado net certificacion 2013

Porqué usar multiples Porqué usar multiples sentencias sentencias SQL? SQL?

PerformancePerformanceGropGropo de tareaso de tareas rela relacionadascionadasEncapsulaEncapsular reglas de negociosr reglas de negocioseejejemplmploo/* a stored procedure with multiple SQL /* a stored procedure with multiple SQL

statements */statements */CREATE PROCEDURE dbo.IncreasePricesCREATE PROCEDURE dbo.IncreasePricesASAS

UPDATE Products SET UnitPrice = UnitPrice * UPDATE Products SET UnitPrice = UnitPrice * 1.021.02SELECT ProductName, UnitPrice FROM ProductsSELECT ProductName, UnitPrice FROM ProductsSELECT ProductName FROM Products SELECT ProductName FROM Products

WHERE Discontinued = 0WHERE Discontinued = 0

Page 87: Ado net certificacion 2013

Como procesar multiples Como procesar multiples sentenciassentencias SQL SQL

Se puede consultar la cantidad Se puede consultar la cantidad de registros afectados de una de registros afectados de una sentenciasentencia DML DML con la propiedad con la propiedad RecordsAffected RecordsAffected

A cada próxima sentencia A cada próxima sentencia SELECT SELECT se puede acceder con se puede acceder con el metodoel metodo NextResult NextResult

Page 88: Ado net certificacion 2013

DemoDemoDataReaderDataReader

Multiples Multiples ResultadosResultados

Page 89: Ado net certificacion 2013

UsUsando DDL (ando DDL (Data Data Definition LanguageDefinition Language))

Que es DDL (Que es DDL (Data Definition LanguageData Definition Language))??

Como ejecutar un comando de Como ejecutar un comando de DDLLLL

Page 90: Ado net certificacion 2013

Que es Que es Data Definition Data Definition Language?Language?

DefiniDefinicciióónnAutomatAutomatiza tareas de iza tareas de administracion de las bases de administracion de las bases de datosdatos

Sentencias Sentencias DDL DDL CREATE, ALTER, DROP, GRANT, CREATE, ALTER, DROP, GRANT, DENY, REVOKEDENY, REVOKE

EjemploEjemploCREATE PROCEDURE dbo.SummarizeProducts ASCREATE PROCEDURE dbo.SummarizeProducts AS

CREATE TABLE ProductSummaryCREATE TABLE ProductSummary( ProductName nvarchar(40),( ProductName nvarchar(40),

CategoryName nvarchar(15) )CategoryName nvarchar(15) )

Page 91: Ado net certificacion 2013

Como ejecutar un Como ejecutar un comando DDLcomando DDL

Método Método ExecuteNonQueryExecuteNonQuery

RetRetornaorna c cantidad de filas afectadasantidad de filas afectadas

Visual Basic Example

Page 92: Ado net certificacion 2013

Manipulando datos usando Manipulando datos usando DML(DML(Data Manipulation Data Manipulation LanguageLanguage))

Que el lenguaje DML(Que el lenguaje DML(Data Manipulation Data Manipulation LanguageLanguage))??

Como ejecutar comandos DMLComo ejecutar comandos DML

Page 93: Ado net certificacion 2013

Que es DML(Que es DML(Data Data Manipulation LanguageManipulation Language))??

DefiniDefinicciióónnSentencias que modifican datos en una Sentencias que modifican datos en una base de datosbase de datos

Sentencias Sentencias DML DML INSERT, UPDATE, DELETEINSERT, UPDATE, DELETE

EjemploEjemploCREATE PROCEDURE dbo.InsertRegionCREATE PROCEDURE dbo.InsertRegion ( @RegID int,( @RegID int, @RegName nchar(50) )@RegName nchar(50) )ASAS

INSERT INTO Region VALUES (@RegID, @RegName)INSERT INTO Region VALUES (@RegID, @RegName)

Page 94: Ado net certificacion 2013

Como ejecutar un Como ejecutar un comando DML(comando DML(Data Data Manipulation LanguageManipulation Language))

Ejecutar una sentencia Ejecutar una sentencia DMLDML

Método Método ExecuteNonQueryExecuteNonQuery

Page 95: Ado net certificacion 2013

Errores al intentar Errores al intentar modificar datosmodificar datos

Errores mas Errores mas ComComunesunesIncorrectIncorrecto nombre de o nombre de objetobjetososServer Server no disponibleno disponibleProblemas de integridad en Problemas de integridad en los datoslos datosUsUsar una conexión antes de ar una conexión antes de abrirlaabrirlaInvalidInvalidoo tipo de tipo de datdatoo

Page 96: Ado net certificacion 2013

DemoDemoComandosComandos

TransaccionalesTransaccionales

Page 97: Ado net certificacion 2013

TransaccionesTransaccionesTemasTemas::

QueQue ees s una una TransacTransaccióción?n?Como se manejan lasComo se manejan las Transac Transacccionionees ?s ?Como trabaja una Como trabaja una TransacTransaccciióónn

Page 98: Ado net certificacion 2013

Que es una Que es una TransacTransacccion?ion?Transacciones locales y Transacciones locales y distribuidasdistribuidas

Propiedades Propiedades ACID ACID Atomicidad (Atomicidad (AtomicityAtomicity))Consistencia(Consistencia(ConsistencyConsistency))Aislamiento(Aislamiento(IsolationIsolation))Durabilidad(Durabilidad(DurabilityDurability))

Page 99: Ado net certificacion 2013

Como manejar una Como manejar una transaccion usando transaccion usando SQLSQL

Sentencias SQL para transacciones Sentencias SQL para transacciones BEGIN TRANS, COMMIT TRANS, BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANSROLLBACK TRANS

EjemploEjemplo/* Use a transaction to ensure consistency *//* Use a transaction to ensure consistency */BEGIN TRANSACTIONBEGIN TRANSACTIONINSERT INTO Account (AccountID, Amount, DebitCredit)INSERT INTO Account (AccountID, Amount, DebitCredit) VALUES (1234, 100, 'debit') VALUES (1234, 100, 'debit') INSERT INTO Account (AccountID, Amount, DebitCredit) INSERT INTO Account (AccountID, Amount, DebitCredit) VALUES (5678, 100, 'credit') VALUES (5678, 100, 'credit') IF (@@ERROR > 0)IF (@@ERROR > 0) ROLLBACK TRANSACTIONROLLBACK TRANSACTIONELSEELSE COMMIT TRANSACTIONCOMMIT TRANSACTION

Page 100: Ado net certificacion 2013

Como manejar Como manejar transacciones usando transacciones usando ADO ADO .NET.NETXxxConnection, XxxConnection, ej.ej., , SqlConnectionSqlConnection

BeginTransactionBeginTransactionXxxTransaction, XxxTransaction, ej.ej., , SqlTransactionSqlTransaction

CommitCommitRollbackRollbackSave (solo en SqlTransaction)Save (solo en SqlTransaction)

Ver ejemploVer ejemploVisual Basic Example

Page 101: Ado net certificacion 2013

System.Data - DataSet y XML

• El DataSet puede leer y escribir XML desde sus datos y del esquema O sea: es posible crear o modificar un DataSet

usando XML • Método de lectura con formato XML:

GetXml: Obtiene los datos del DataSet (incluyendo el esquema)

GetXmlSchema: obtiene el esquema XSD del DataSet

• Para escribir: WriteXml, WriteXmlSchema

Page 102: Ado net certificacion 2013

System.Data - DataView• Crea múltiples vistas de los objetos

DataTable • Vinculable a controles • Propiedades importantes:

Item: Obtiene una fila de una tabla determinada

Table: Obtiene o asigna el objeto DataTable Sort: obtiene o asigna la/s columna/s y el

ordenamiento RowFilter: Obtiene o asigna la expresión para

filtrar la vista RowStateFilter: Indica o asigna el estado del

filtro None, Unchanged, New, Deleted,

ModifiedCurrent, y otros

Page 103: Ado net certificacion 2013

System.Data - DataView

DataView vista1 = new DataView( miTabla ); DataView vista2 = new DataView( miTabla );

// La vista ordenada por Apellido vista1.Sort = “Apellido ASC”;

// Filtrar para ver sólo los modificados vista2.RowStateFilter= DataViewRowState.ModifiedOriginal; // Vincular a un control de usuario... DataGrid myGrid = new DataGrid(); myGrid.SetDataBinding( view1, “Clientes”); //...

• Creando objetos DataView