La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.

Presentaciones similares


Presentación del tema: "ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft."— Transcripción de la presentación:

1 ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft

2 Objetivos Introducir Microsoft® ADO.NET
Mostrar la evolución de ADO a ADO.NET Introducir los componentes primarios de ADO.NET

3 Microsoft® .NET Framework
ADO.NET y el Marco.NET Microsoft® .NET Framework Web Services Interfaz de usuario Datos y XML ADO.NET XML ... ... Clases base Motor de ejecución común (CLR)

4 ADO vs. ADO.NET 1/2 ADO Diseñado para acceso conectado
Vinculado al modelo físico de los datos El RecordSet es el contenedor central de datos El RecordSet es una tabla que contiene todos los datos Obtener datos de más de una tabla u origen, requiere un JOIN en la base Los datos son “aplanados”: pierden sus relaciones y la navegación suele ser secuencial Los tipos de datos se encuentran relacionados con tipos COM/COM+ Los datos se comparten por “marshalling COM” Hay problemas para enviar información a través de “murallas de fuego” (DCOM, datos binarios)

5 ADO vs. ADO.NET 2/2 ADO.NET Diseñado para acceso desconectado
¡Se puede modelar la información por lógica! El DataSet reemplaza al RecordSet El DataSet puede contener múltiples tablas No se requieren JOIN Se preservan las relaciones: La navegación es relacional Los tipos de datos sólo están vinculados al esquema de XML No se requieren conversiones de tipos de datos XML, como HTML, es texto plano: “Pasa las barreras”

6 Beneficios de ADO.NET Interoperabilidad por el uso de XML
Estándar abierto Texto descifrable por “Humanos” Los datos se describen a sí mismos Se usa en todas las transferencias de datos en ADO.NET Escalabilidad por el DataSet desconectado No se mantienen conexiones por períodos largos No se producen “bloqueos” en la base de datos Trabaja como la Web “Toco y me voy” Facilidad en el Mantenimiento Separación de la lógica de datos y la interfaz del usuario

7 Conceptos centrales y arquitectura
El modelo de Objetos de ADO.NET Objetos DataSet Proveedores administrados Namespaces relacionados con ADO.NET System.Data System.Data.OleDb System.Data.Internal System.Data.Sql System.Data.SqlTypes

8 Namespaces relacionados con ADO.NET
System.Data .SQLTypes .Sql .Internal .OleDb

9 El modelo de objetos de ADO.NET
DataSet Proveedores administrados

10 System.Data 1/2 Contiene las bases de ADO.NET
Namespace centrado en Datos Provee los mecanismos para trabajar con y sobre los datos Clases y métodos para manipular los datos Habilidad para crear vistas de los datos Formas para representar lógicamente los datos Permite la utilización de XML para ver, compartir y almacenar datos

11 System.Data 2/2 Contiene las clases “principales” de ADO.NET
DataSet Persistencia en memoria de los datos DataTable Persistencia en memoria de la tabla de la base de datos DataRow Permite manipular una fila en un DataTable DataColumn Permite definir columnas en un DataTable DataRelation Puede relacionar 2 DataTables entre sí DataSetView Presenta una vista del DataSet

12 System.Data y DataSet DataSet Tables Relations DataView DataTable
DataRow(s) DataColumn Constraint(s) Relations DataRelation DataView DataTable DataTable

13 System.Data - DataSet 1/3 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

14 System.Data - DataSet 2/3 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

15 Contenedor Universal de datos DataSet: No sólo para bases de datos
System.Data - DataSet 3/3 Contenedor Universal de datos DataSet: No sólo para bases de datos

16 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

17 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 );

18 System.Data - DataRelation 1/2
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 (¡por el desarrollador!) 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

19 System.Data - DataRelation 2/2
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 );

20 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

21 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

22 System.Data - DataView Creando objetos 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”); //...

23 DataSet, DataRelation, Data…Views
Tables DataTable DataRow(s) DataColumn Constraint(s) DataView Relations DataRelation DataTable DataRelation DataTable

24 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

25 Proveedores administrados
System.Data .Sql .OleDb SqlCommand SqlConnection SqlDataReader SqlDataSetCommand OleDbCommand OleDbConnection OleDbDataReader OleDbDataSetCommand Dependen de System.Data.InternalDataCollectionBase para varias clases heredadas

26 OleDbConnection y SqlConnection
Representa una única sesión con un origen de datos Exponen funcionalidad de transacciones Ejemplo de Conexión OleDbConnection: String conStr="Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source=NWIND_RW.MDB"; OleDbConnection aConn = new OleDbConnection(conStr); aConn.Open(); // Execute Queries using OleDbDataSetCommand Class aConn.Close();

27 OleDbDataAdapter 1/2 Es un “Puente” entre el DataSet y el origen de datos Hereda de la clase DataAdapter Es el mecanismo para actualizar un DataSet hacia su origen Base de Datos DataSet DataAdapter

28 OleDbDataAdapter 2/2 Propiedades de Interés:
Objetos OleDbCommand que contienen los procedimientos (o sentencias SQL), para las distintas acciones DeleteCommand: InsertCommand: SelectCommand: UpdateCommand: TableMappings: Definen las relaciones de los DataTable obtenidos por los comandos OleDb de Select Hereda métodos de la clase DbDataAdapter public virtual int Fill( DataSet dataSet ); public virtual int Update( DataSet dataSet );

29 OleDbCommand Representa una consulta a ejecutar en la base de datos
Propiedades: Connection: Conexión utilizada (Objeto OleDbConnection) CommandText: Sentencia a ejecutar CommandType: Tipo de sentencia asignada Texto, Procedimiento Almacenado, o Nombre de la tabla CommandTimeout: Cantidad de segundos para que se considere “fuera de tiempo” la ejecución de una sentencia

30 OleDbDataReader 1/2 Permite acceso secuencial, de sólo lectura
Modelo de programación más “liviano” Con menor sobrecarga que el OleDbDataAdapter Se obtiene por el método ExecuteReader de un OleDbCommand Depende del OleDbCommand hasta finalizar la lectura Mantiene la conexión abierta

31 OleDbDataReader 2/2 Propiedades Importantes:
FieldCount: Cantidad de Columnas del conjunto de datos IsClosed: Indica el estado del Conjunto de datos RecordsAffected: La cuenta de registros obtenidos Métodos para obtener Datos: Por tipo de dato e índice de la columna: GetString, GetInt32, etc. Read: Desplaza al siguiente registro

32 Resumen ADO.NET es la evolución de ADO
Es desconectado, para acompañar el modelo basado en Web Muy flexible para trabajar con Datos Aumenta las capacidades de organizar lógicamente los datos Amplio soporte para XML Lo que permite mayores habilidades para trabajar y compartir datos Interactúa con una gran variedad de orígenes


Descargar ppt "ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft."

Presentaciones similares


Anuncios Google