0% encontró este documento útil (0 votos)
299 vistas11 páginas

Acceso Datos ADO NET

El capítulo describe la implementación de acceso a datos con ADO.NET. Explica la arquitectura y componentes clave de ADO.NET como los proveedores de datos, las interfaces y clases del modelo de objetos, y las estrategias de trabajo conectado y desconectado. El objetivo es que los alumnos aprendan a conectarse a bases de datos y realizar consultas usando ADO.NET.

Cargado por

Alvaro Chang
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
299 vistas11 páginas

Acceso Datos ADO NET

El capítulo describe la implementación de acceso a datos con ADO.NET. Explica la arquitectura y componentes clave de ADO.NET como los proveedores de datos, las interfaces y clases del modelo de objetos, y las estrategias de trabajo conectado y desconectado. El objetivo es que los alumnos aprendan a conectarse a bases de datos y realizar consultas usando ADO.NET.

Cargado por

Alvaro Chang
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Captulo 2

Implementacin de Acceso a
Datos con ADO.NET

Objetivo
Al finalizar el captulo, el alumno:

Conocer la arquitectura de ADO.NET.


Identificar los NET Data Providers.
Utilizar las interfaces y clases del modelo de objetos de ADO.NET.
Implementar una conexin a la base de datos usando la clase
SQLConnection.
Realizar consultas a la base de datos.
Entender las ventajas y desventajas de las estrategias de trabajo
(conectado y desconectado)

Temas
1.
2.
3.
4.
5.

Definicin de ADO.NET
Arquitectura de ADO.NET
.NET Data Providers
Modelo de datos conectado y desconectado
Datasets y Datatables

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

1.

12

Definicion de ADO.NET

ADO.NET es un extenso conjunto de clases de .Net que permiten recuperar y


manipular los datos provenientes de mltiples fuentes. Adems, incorpora un
modelo de programacin que incluye accesos nativos a fuentes de datos y
XML.
Del mismo modo, ADO.NET permite alcanzar los siguientes objetivos en el
desarrollo de una aplicacin:

Interoperabilidad. Porque emplea XML como el formato estndar, para


transferir informacin desde el origen de datos hacia los aplicativos clientes.
Dado que XML es un estndar de la industria, su utilizacin hace que la
comunicacin de datos, entre fuentes distintas, sea mucho ms sencilla.

Rendimiento. En su modo conectado, ADO.NET trabaja directamente con


los tipos de datos de la base de datos, por lo tanto, evita el trabajo de
realizar conversiones de tipos. Adems, los conectores nativos de
ADO.NET permiten establecer conexiones ms rpidas con las fuentes de
datos.

Escalabilidad. ADO.NET conserva los recursos de un sistema, pues


permite el trabajo en entornos desconectados que no requieren consumir
recursos de conexiones duraderas con el servidor.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

2.

13

Arquitectura de ADO.NET

Existen dos componentes de ADO.NET que se pueden utilizar para acceder y


manipular data:

Proveedores de datos de .NET Framework


Los proveedores de datos de .NET Framework son componentes diseados
explcitamente para la manipulacin de datos y el acceso rpido a datos de
solo lectura y solo avance. Ofrece los siguientes objetos:

Connection, proporciona conectividad a un origen de datos.


Command, permite tener acceso a comandos de base de datos para
devolver datos, modificar datos, ejecutar procedimientos almacenados y
enviar o recuperar informacin sobre parmetros.
DataReader, permite recuperar informacin que ser de solo lectura, y
forward only. Los resultados se devuelven como se ejecuta la
consulta, y se almacenan en el buffer de la red en el cliente hasta que
se solicita mediante el mtodo Read del DataReader. Utilizando el
DataReader puede aumentar el rendimiento de aplicaciones, tanto por
la recuperacin de datos tan pronto como est disponible.
DataAdapter, proporciona el puente entre el objeto DataSet y el origen
de datos. Asimismo, utiliza objetos Command para ejecutar comandos
SQL en el origen de datos, tanto para cargar DataSet con datos, as
como para reconciliar en el origen de datos, los cambios aplicados a los
datos incluidos en el DataSet.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

14

DataSet
Los DataSet de ADO.NET estn expresamente diseados para el acceso a
datos, independientemente del origen. Como resultado, se puede utilizar
con mltiples y distintos orgenes de datos, con datos XML o para
administrar datos locales de la aplicacin. Asimismo, DataSet contiene una
coleccin de uno o ms objetos DataTable formados por filas y columnas
de datos, as como, informacin sobre claves principales, claves externas,
restricciones y de relacin, las cuales se encuentran referidas con los datos
incluidos en los objetos DataTable.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

15

3. .NET Data Providers

ADO.NET incluye los Framework Data Providers los cuales permiten


conectarse a una base de datos, ejecutar comandos y retornar resultados. Del
mismo modo, crean una mnima capa entre la fuente de datos y el cdigo, lo
cual incrementa performance y no sacrifica funcionalidad.

.Net Framework Data Provider para SQL Server


Provee de acceso optimizado a SQL Server 7.0 o superior y a Microsoft
Data Engine (MSDE). Para versiones inferiores a la 7.0, se podr utilizar el
.Net Framework Data Provider para OLE DB (Object Linking and
Embedding for Databases).
El .Net Framework Data Provider para SQL Server, utiliza su propio
protocolo ligero para comunicarse directamente con el SQL Server, sin la
necesidad de una capa OLE DB u ODBC (Open Data Base Conectivity).
Las clases para este proveedor estn ubicadas en el namespace
System.Data.SqlClient.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

16

.Net Framework Data Provider para OLE DB


Utiliza OLE DB nativo, a travs de interoperabilidad COM, para habilitar el
acceso a datos. Para utilizar el .Net Framework Data Provider para OLE
DB, se debe usar un proveedor OLE DB.
Para lo cual, Microsoft ha probado los siguientes proveedores OLE DB con
ADO.Net:
Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
Microsoft OLE DB Provider for Oracle (MSDAORA); and
OLE DB Provider for Microsoft Jet (Microsoft.Jet.OLEDB.4.0).
Las clases para este proveedor estn ubicadas en el namespace
System.Data.OleDb.

.Net Framework Data Provider para ODBC


Utiliza el nativo ODBC Driver Manager, a travs de interoperabilidad COM,
para habilitar el acceso a datos. Para utilizar el .Net Framework Data
Provider para ODBC, se debe usar un driver ODBC. Los siguientes ODBC
drivers han sido probados con ADO.Net:
SQL Server
Microsoft ODBC for Oracle
Microsoft Access Driver (*.mdb).
Las clases para este proveedor estn ubicadas en el namespace
System.Data.ODBC.

ADO.NET especifica un modelo comn de objetos para los .Net Framework


Data Providers. Las interfaces implementadas ms comunes son:

IDbConnection. Esta interface permite establecer una conexin con una


fuente de datos especfica. Cada .Net Framework Data Provider incluye una
clase que implementa IDbConnection. Por ejemplo, el .Net Framework Data
Provider para SQL Server, incluye una clase llamada SqlConnection.

IDbCommand. Esta interface permite ejecutar un comando contra la fuente


de datos. Los comandos pueden incluir parmetros y pueden ejecutarse
dentro de una transaccin. Cada .Net Framework Data Provider incluye una
clase que implementa el IDbCommand. Por ejemplo, el .Net Framework
Data Provider para SQL Server, incluye una clase llamada SqlCommand.

IDataReader. Esta interface permite lecturas del tipo forward-only y readonly de una fuente de datos.

IDataAdapter. Esta interface permite poblar de data a un DataSet, el cual


almacena los cambios que se realicen sobre la data; cualquier cambio es
grabado de vuelta a la fuente de datos.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

4.

17

Modelo de datos conectado y desconectado

Modelo Conectado
Este modelo permite usar un Data Provider, como el .NET Framework Data
Provider para Microsoft SQL Server, para conectarse a una base de datos y
ejecutar sentencias SQL en esa base de datos.
La conexin a la base de datos permanece abierta, mientras el comando se
ejecuta y se leen los datos. Este modelo utiliza, principalmente, los objetos
Command y Datareader. Algunas de las ventajas dentro de este modelo son:

Mayor control sobre la ejecucin de sentencias SQL. Usando


comandos, se obtiene control directo sobre cmo y cundo una
sentencia SQL o procedimiento almacenado es ejecutado.
Menos sobrecarga. Leyendo y escribiendo directamente sobre la base
de datos, se evita el almacenamiento de datos en un DataSet en
memoria, lo cual reduce el consumo de recursos de la aplicacin.
Funcionalidad extra. Existen ciertas operaciones, como los comandos
DDL (Data Definition Language) que solo se pueden ejecutar a travs
de objetos del tipo Command.
Menos programacin en algunas circunstancias. Principalmente en
aplicaciones Web, se requiere algo de programacin extra para guardar
el estado de un dataset. Si se usa un objeto DataReader, se evitan los
pasos extras requeridos para manipular un dataset.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

18

Modelo Desconectado
Este modelo permite crear un cach en memoria con los datos obtenidos desde
una fuente de datos y manejarlos, sin mantener una conexin activa a la base
de datos. Se puede ver, modificar y eliminar datos en el cach, y luego,
transmitir los cambios realizados en el cach, a la fuente de datos original. Se
usan principalmente los objetos DataAdapter y DataSet, como base de este
modelo.
En un entorno desconectado, el usuario o aplicacin, no mantiene una
conexin abierta al servidor de base de datos. Algunas de las ventajas dentro
de este modelo son:

Intercambio de datos con otras aplicaciones. Un DataSet es un objeto


con el cual se puede transportar de manera sencilla datos entre los
componentes de la propia aplicacin u otras aplicaciones.
Movimiento de datos entre capas en una aplicacin distribuida.
Manipulando datos en un DataSet, se puede mover estos datos entre la
capa de acceso a datos a la capa de negocio y a la capa de
presentacin, de manera fcil.
Trabajo con mltiples tablas. Un DataSet puede contener mltiples
tablas, por lo cual, se puede trabajar con las tablas individualmente o se
puede navegar, a travs de ellas, como tablas padre-hijo.
Mantenimiento de un conjunto de registros para su reutilizacin. Un
DataSet permite trabajar con el mismo conjunto de datos
repetidamente, sin necesidad de volver a consultar a la fuente de datos.
Manipulacin de datos provenientes de distintas fuentes de datos. Las
tablas dentro de un DataSet pueden contener datos de distintas fuentes.
Una vez que se encuentran dentro de un mismo DataSet, se pueden
manipular y relacionar como si fueran datos que provienen de una
misma fuente.
Enlace de datos (data binding). Si se est trabajando con formularios,
normalmente es ms sencillo enlazar controles del formulario a datos
contenidos en un DataSet en lugar de cargar valores, a travs de
programacin.
Facilidad en la programacin. Cuando se trabaja con un DataSet se
pueden crear clases que representan la estructura especfica del objeto,
lo cual hace ms fcil la programacin, porque estas clases son
soportadas por herramientas del Visual Studio como Intellisense, Data
Adapter Configuration Wizard, etc.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

19

5. Datasets y Datatables

ADO.NET brinda soporte para acceso desconectado, a travs del objeto Dataset,
el cual sirve como una representacin en memoria de una estructura relacional
de datos. El objeto Dataset es, por diseo, un objeto desconectado, pues utiliza
una conexin para obtener datos, y luego de obtenerlos y mantenerlos en
memoria, no usa ms la conexin, salvo para llevar cambios a la fuente de datos
original.
El DataSet es el principal objeto para el trabajo con el modelo desconectado de
ADO .NET, puesto que es una representacin en memoria de los datos que
pueden provenir de distintas fuentes. Adems, representa un completo conjunto
de datos donde se pueden tener tablas relacionadas, restricciones y relaciones
entre tablas.
Los objetos ms importantes de este modelo son:
DataTable: Representa una tabla dentro del DataSet. Cada tabla es contenida
en el DataTableCollection (Tables) del DataSet. Su esquema se define por
objetos del tipo DataColumn, los cuales estn contenidos dentro del
DataColumnCollection (Columns), as como por restricciones contenidas en un
ConstraintCollection (Constraints). Un DataTable tambin contiene un conjunto
de objetos del tipo DataRow contenidos en el DataRowCollection (Rows). Los
datos se almacenan en los objetos del tipo DataRow.
DataView: Representa una vista personalizada de un DataTable. Su principal
utilizacin est relacionada al ordenamiento, filtracin, bsqueda, edicin y
navegacin.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

20

DataRow: Representa una fila de datos dentro de un DataTable. Su principal uso


es insertar, eliminar y actualizar datos dentro de un DataTable.
DataColumn: Es el objeto base para la construccin del esquema de un
DataTable. De tal forma que, para cada DataColumn, se define un tipo de dato.
DataRelation: Vienen a ser cada una de las relaciones que se pueden
implementar (as como en una BD fsica) en funcin de las llaves forneas que
apuntan hacia una llave primaria, dentro de las tablas de un Dataset. Cada
relacin formar parte de la coleccin DataRelations del Dataset

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

Implementacin de Acceso a Datos con ADO.NET

21

Ejercicio N 2

Cree una aplicacin de Consola que realice la bsqueda de un registro basado


en su PK en la tabla HumanResources.Employee utilizando ADO.NET.
Agregue un mtodo que permita la bsqueda de un registro basado en su PK en
la tabla HumanResources.Employee utilizando ADO.NET y un Stored Procedure.
Agregue un mtodo que permita la seleccin de todos los registros en la tabla
HumanResources.Employee utilizando ADO.NET y un Stored Procedure.
Agregue un mtodo que permita la insercin de un registro en la tabla
HumanResources.Shift utilizando ADO.NET y un Stored Procedure.

Cibertec Per S.A.C Visual Studio 2015 Developer C# (PDS1508)

También podría gustarte