ochoa ornelas raquel_acceso a una base de datos

20
ACCESO A UNA BASE DE DATOS VISUAL BASIC .NET 2010 Por: Raquel Ochoa Ornelas

Upload: raquel-ochoa

Post on 16-Apr-2017

991 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ochoa ornelas raquel_acceso a una base de datos

ACCESO A UNA BASE DE DATOS

VISUAL BASIC .NET 2010

Por: Raquel Ochoa Ornelas

Page 2: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 3: Ochoa ornelas raquel_acceso a una base de datos

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).

Page 4: Ochoa ornelas raquel_acceso a una base de datos

ADO.NETCapa de la lógica de negocio Capa de datos

Conjunto de datos

Origen de datos

Adaptador de datos

Adaptador de datos

Conexión de datos

Conexión de datos

Capa de presentación

Formulario Windows

Mi Aplicación

Page 5: Ochoa ornelas raquel_acceso a una base de datos

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 Web

Formularios Windows

Conjunto de datos

Proveedor de acceso a datos

Bases de datos

System.Data

Page 6: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 7: Ochoa ornelas raquel_acceso a una base de datos

ADO.NET Conjunto de datosDataSet

DataTableCollection

DataTableDataRowCollection

DataColumnCollection

ConstrainCollection

DataRow

DataColumn

Constrain

Page 8: Ochoa ornelas raquel_acceso a una base de datos

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)

Page 9: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 10: Ochoa ornelas raquel_acceso a una base de datos

ADO.NET Proveedor de datos

Proveedor de datos .NET

DataAdapterConnection

Command

DataReader

Transaction

Parameters

SelectCommand

InsertCommand

UpdateCommand

DeleteCommand

Page 11: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 12: Ochoa ornelas raquel_acceso a una base de datos

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)

Page 13: Ochoa ornelas raquel_acceso a una base de datos

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, OdbcCommandSqlCommand, OracleCommand

Page 14: Ochoa ornelas raquel_acceso a una base de datos

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, OleDBDataReaderOdbDataReader, OracleDataReader

Mi aplicación

DataReader Command

Connection

Origen de datos

Page 15: Ochoa ornelas raquel_acceso a una base de datos

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, OleDBConnectionOdbcDataAdapter, OdbcCommand, OdbcConnectionSqlDataAdapter, SqlCommand, SqlConnectionOracleDataAdapter, 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

Page 16: Ochoa ornelas raquel_acceso a una base de datos

ADO.NET Adaptador de datos

Mi aplicación

SelectCommand

Connection

Origen de datos

InsertCommand

DeleteCommand

UpdateCommand

DataAdapter

Conjunto de datos

Mi Aplicación

Page 17: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 18: Ochoa ornelas raquel_acceso a una base de datos

ADO.NET Modos de conexión

Aplicación

DataReader

Dataset

Command

Connection

Bases de datos

DataAdapter

Page 19: Ochoa ornelas raquel_acceso a una base de datos

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.

Page 20: Ochoa ornelas raquel_acceso a una base de datos

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