El documento describe las características principales de ADO.NET, incluyendo que no requiere conexiones continuas, usa conjuntos de datos para almacenar datos de la base de datos en memoria, y componentes clave como Connection, Command, DataReader, y DataAdapter que permiten el acceso a datos. ADO.NET separa el acceso a datos de la manipulación de datos.
2. ADO.NET
No depende de conexiones continuamente activas, esto es, se
diseñó en torno a una arquitectura donde las aplicaciones se
conectan a la base de datos. De esta forma, la base de datos no
contiene conexiones que la mayor parte del tiempo permanecen
inactivas, lo que se traduce en dar servicio a muchos más usuarios
y facilita la escalabilidad.
Las interacciones con la base de datos se realizan mediante
órdenes para acceso a los datos, que son objetos que encapsulan
las sentencias SQL o los procedimientos almacenados que definen
la operación a realizar sobre el origen de datos.
Los datos requeridos normalmente se almacenan en memoria
caché en conjuntos de datos, lo que permite trabajar sin conexión
sobre una copia temporal de los datos obtenidos. Los conjuntos de
datos son independientes de los orígenes de datos. Cuando sea
necesario, se puede restablecer la conexión con la base de datos y
actualizarla desde el conjunto de datos.
3. ADO.NET
ADO.NET es un conjunto de clases, pertenecientes al espacio de
nombres System.Data, para acceso a los datos de un origen de
datos.
ADO.NET proporciona un conjunto de componentes para crear
aplicaciones distribuidas de uso compartido de datos. Dichos
componentes están diseñados para separar el acceso a los datos
de la manipulación de los mismos y son: DataSet y el proveedor de
datos de .NET Framework, que es un conjunto de componentes
entre los que se incluyen los objetos de conexión (Connection), de
órdenes (Command), lector de datos (DataReader) y adaptador de
datos (DataAdapter).
4. ADO.NET
Capa de presentación Capa de la lógica de negocio Capa de datos
Formulario Conjunto Origen de
Windows de datos datos
Mi Aplicación
Adaptador
de datos Conexión de datos
Adaptador Conexión de datos
de datos
5. ADO.NET
El trabajo de conexión con la base de datos, lo realiza el proveedor
de acceso a datos.
Recuperar los datos es una acción de la capa superior. El resultado
es un conjunto de datos agrupados en tablas.
ASP.NET: servicios Web y Formularios
formularios Web Windows
System.Data
Conjunto de datos
Proveedor de acceso a datos
Bases de datos
6. ADO.NET
Conjunto de datos
Un formulario Windows, para acceder a los datos de un origen de
datos, lo que hace generalmente es utilizar un adaptador de datos
para leer la información de la base de datos y almacenarla en el
conjunto de datos. Posteriormente, para actualizar la información,
se vuelve a utilizar al adaptador. Como alternativa, se puede
interactuar directamente con la base de datos utilizando un objeto
de órdenes para acceso a los datos, que incluya una sentencia
SQL o una referencia a un procedimiento almacenado.
Un conjunto de datos incluye una o más tablas basadas en las
tablas del origen de datos y también puede incluir información
acerca de las relaciones entre estas tabas y las restricciones para
los datos que puede contener cada tabla.
7. ADO.NET Conjunto de
datos DataSet
DataTableCollection
DataTable
DataRowCollection
DataRow
DataColumnCollection
DataColumn
ConstrainCollection
Constrain
8. ADO.NET Conjunto de
datos
La clase DataRow incluye la propiedad RowState, que permite
saber si la fila cambió y de qué modo, desde que la tabla de datos
se cargó por primera vez. Valores (Added, Deleted, Modified y
Unchaned)
9. ADO.NET Proveedor de
datos
Un proveedor de datos sirve como puente entre una aplicación y
un origen de datos. Los componentes principales de datos .NET
son los objetos siguientes:
Conexión con el origen de datos (objeto Connection). Establece
una conexión a un origen de datos determinado.
Orden para acceso a los datos (objeto Command). Ejecuta una
orden en un origen de datos.
Lector de datos (objeto DataReader). Lee una secuencia de datos
de sólo avance y sólo lectura desde un origen de datos.
Adaptador de datos (objeto DataAdapter). Llena un DataSet y
realiza las actualizaciones necesarias en el origen de datos.
10. ADO.NET Proveedor de
datos
Proveedor de datos .NET
DataAdapter
Connection
Transaction
SelectCommand
Command
InsertCommand
Parameters
UpdateCommand
DataReader DeleteCommand
11. ADO.NET Proveedor de
datos
El proveedor ODBC .NET permite conectar una aplicación a
distintos orígenes de datos a través de ODBC.
El proveedor OLE DB .NET permite conectar una aplicación a
distintos orígenes de datos a través de OLE DB.
Para los casos de MySQL, AS/400, etc., deberemos acudir con el
fabricante para que nos proporcione el conjunto de clases que
define ese proveedor en particular.
Es aconsejable, siempre que se pueda, utilizar un proveedor de
acceso da datos nativo para acceder a bases de datos. Esto
permitirá aumentar considerablemente el rendimiento a la hora de
establece r la conexión con un determinado origen de datos.
12. ADO.NET Objeto conexión
Para establece una conexión a un origen de datos, ADO.NET
proporciona el objeto Connection.
SqlConnection, OleDbConnection,
OdbcConnection, OracleConnection
La función de un objeto conexiones presentar atributos y métodos
para permitir establecer y modificar las propiedades de la conexión
(por ejemplo, el identificador de usuario y la contraseña, entre
otras)
13. ADO.NET Objeto orden
Después de establecer una conexión con un origen de datos,
puede utilizar un objeto Command para ejecutar sentencias SQL y
devolver resultados desde ese origen de datos. Para crear un
objeto de éstos, invoque a su constructor. Si el objeto ya está
creado, la instrucción SQL encapsulada por él podrá ser consultada
o modificada a través de su propiedad CommandText.
OleDBCommand, OdbcCommand
SqlCommand, OracleCommand
14. ADO.NET Lector de datos
Cuando alguna aplicación sólo necesite leer datos (no
actualizarlos), no será necesario almacenarlos en un conjunto de
datos, basta utilizar un objeto lector de datos en su lugar. Un objeto
lector de datos obtiene los datos del origen de datos y los pasa
directamente a la aplicación .
SqlDataReader, OleDBDataReader
OdbDataReader, OracleDataReader
Mi aplicación
DataReader Command
Origen
de datos
Connection
15. ADO.NET Adaptador de
datos
Un adaptador es un conjunto de objetos utilizados para
intercambiar datos entre un origen de datos y un conjunto de datos
(Objeto DataSet). Esto significa que una aplicación leerá datos de
una base de datos para un conjunto de datos y, a continuación,
manipulará dichos datos. También, en algunas ocasiones, volverá a
escribir en la base de datos los datos modificados del conjunto de
datos.
OleDbDataAdapter, OleDbCommand, OleDBConnection
OdbcDataAdapter, OdbcCommand, OdbcConnection
SqlDataAdapter, SqlCommand, SqlConnection
OracleDataAdapter, OracleCommand, OracleConnection
Generalmente, cada adaptador de datos intercambia datos entre
una sola tabla de un origen de datos y un solo objeto DataTable
(tabla de datos) del conjunto de datos
16. ADO.NET Adaptador de
datos
Conjunto
de datos
DataAdapter
SelectCommand Origen
de datos
InsertCommand Connection
Mi Aplicación
aplicación
DeleteCommand
UpdateCommand
17. ADO.NET Modos de
conexión
La conexión debe realizarse, siempre que se pueda, con los
proveedores de acceso a datos nativos, simplemente porque son
más rápidos que los proveedores de tipo OLE DB y ODBC.
La conexión debe abrirse lo más tarde posible. Es recomendable
definir todas las variables que podamos antes de realizar la
conexión.
La conexión debe cerrarse lo antes posible, siempre y cuando no
tengamos la necesidad de utilizarla posteriormente.
18. ADO.NET Modos de
conexión
Aplicación
Dataset
DataReader
Command DataAdapter
Connection
Bases de datos
19. ADO.NET Modos de
conexión
El objeto DataSet ofrece la posibilidad de almacenar datos de una
determinada base de datos (tablas de una base de datos). Esto hace
posible que una aplicación pueda trabajar con los datos procedentes
de una base de datos estando desconectada de dicha base.
En otras ocasiones, será necesario trabajar estando la aplicación
conectada a la base de datos. Esto ofrece el DataReader, sin
embargo:
El objeto DataReader recupera un conjunto de valores llenando un
pequeño búfer de datos.
Si los registros que hay en el búfer se acaban, el objeto DataReader
regresará a la base de datos para recuperar más registros. Por lo
tanto, si el servicio de SQL Server estuviera detenido, la aplicación
generaría un error a la hora de leer el siguiente registro.
DataReader es un objeto conectado, pero trabaja en segundo plano
con un conjunto de datos.
20. ADO.NET Control
BindingSource
Un objeto BindingSource hace de puente entre el control y el
conjunto de datos, simplificando la conexión control-origen de
datos, la actualización del contenido actual, la notificación de
cambios y otros servicios.
Control en un formulario
BindingSource
Origen de datos