Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIÓN.
ADO .NET es la tecnología de acceso a datos que viene en el .NET Framework. Y aunque su nombre
proviene de su predecesor (ADO, ActiveX Data Objects) no tiene casi nada en común con esa
tecnología. De hecho, maneja un paradigma conceptual completamente opuesto.
ADO, RDO, DAO y similares manejaban un modelo “conectado”, es decir, se ejecutaba una consulta
en la base de datos y se declaraban objetos que mantenían un “cursor” o apuntador al registro que
se deseaba leer. ADO proporcionaba métodos para navegar hacia adelante o hacia atrás en el grupo
de datos que devolvía la consulta para poder leerlos o modificarlos. Todo esto se hacía en vivo y en
directo sobre la base de datos. Esta tecnología tenía algunas desventajas, pero la principal es que se
necesita mantener una conexión abierta en todo momento para manipular los datos. De modo que,
si se tenían 20 licencias para conectarse a la base de datos, fácilmente podían ser saturadas con 20
usuarios que estuvieran utilizando la aplicación con alguna pantalla abierta, aunque no estuvieran
realizando ninguna actividad.
Sin embargo, ADO .NET maneja un modelo “desconectado”, principalmente porque el otro modelo
no es el más óptimo en ciertos tipos de aplicaciones como Web o dispositivos móviles. Es decir, la
idea es conectarse a la base de datos (o cualquier otro almacén de datos), hacer lo que se tenga que
hacer y desconectarse, liberando lo más rápido posible recursos de red, licencias, etcétera. Es
posible mantener una copia de los datos en memoria caché, y luego cuando se vuelva a conectar
simplemente se sincronizan los datos con los del servidor.
1 de 4
Programación I Ing. Verónica Rosa de Rivera
DIAGRAMA DE CONEXIÓN.
De la arquitectura de ADO
.NET podemos apreciar que se
necesitan algunos objetos
para poder establecer
conexión a una base de datos
e interactuar con ella:
Connection y Command. El
diagrama siguiente muestra
los objetos que intervienen en
la conexión a una base de
datos.
En la parte inferior del
diagrama se tiene la base de
datos (u otro almacén de
datos), donde se encuentra
almacenada la información
que manejará la aplicación.
El siguiente objeto que se
muestra es la conexión
(Connection), el cual permite
establecer un canal de
comunicación hacia la base de
datos.
A continuación se tiene al
objeto comando (Command),
el cual contiene la instrucción
que se ejecutará sobre la base
de datos (SELECT, INSERT,
UPDATE, DELETE, EXECUTE).
La creación de estos dos objetos (Connection y Command) depende del proveedor de datos que
contiene la información que usará la aplicación: SQL Server, Access, Oracle, MySql, etc.
Por ejemplo, para trabajar con una base de datos SQL Server se utiliza SqlConnection y
SqlCommand; y para trabajar con Access se usa OleDbConnection y OleDbCommand.
2 de 4
Programación I Ing. Verónica Rosa de Rivera
Sin importar cuál proveedor de datos se utilice, los pasos siempre son los mismos:
1. Abrir la conexión. miConexion.Open();
Por ejemplo, si se desea usar una base de datos construida con SQL Server, se usaría lo siguiente:
// asumiendo que al principio se incluyó la librería
// using System.Data.SqlClient;
// para usar más fácilmente las clases del SQL Server Data Provider
3 de 4
Programación I Ing. Verónica Rosa de Rivera
DEFINIR UN COMANDO.
El comando sirve para especificar la operación que se ejecutará sobre los datos contenidos en la
base de datos y se especifica utilizando la propiedad CommandText. Además, se puede especificar el
tipo de comando que será ejecutado con la propiedad CommandType:
a. Text: Cualquier consulta, incluyendo comandos para manipular la base de datos.
b. StoredProcedure: Para ejecutar un procedimiento almacenado.
c. TableDirect: Para leer una tabla completa. Este no es soportado por algunos proveedores
de datos como SQL Server.
// Aún no se están ejecutando
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = miConexion;
cmd1.CommandType = System.Data.CommandType.Text;
cmd1.CommandText = "SELECT * FROM 'Peliculas'";
4 de 4