UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO 02-2013 GUIA DE LABORATORIO #09 Nombre de la Práctica: ADO.NET: Conexión a base de datos. Lugar de ejecución: Centro de computo Tiempo estimado: 2 horas con 30 minutos MATERIA: Lenguaje de Programación I I. OBJETIVOS ESPECIFICOS Que el estudiante: 1. Diferenciar entre los diferentes proveedores disponibles para la realización de la conexión a una BD. 2. Conectar su aplicación a una base de datos implementado los objetos que proporciona el framework.net. 3. Crear aplicaciones en las cuales vincule los controles al conjunto de datos 4. Escoger el proveedor mas optimo para utilizarlo en un proyecto de BDD s especifico ADO.NET II. INTRODUCCION TEORICA Actualmente vivimos en un mundo altamente globalizado y tecnológico. Cada dia existe una mayor eficiencia al reducir tiempo muerto en colas y demás tipos de esperas. Esto se debe a que el avance científico ha impactado nuestra forma de vida de tal modo que muchas actividades rutinarias, burocráticas e incluso tediosas se están extinguiendo poco a poco. Anteriormente para buscar un registro en una gran empresa podía tardar horas dependiendo de la organización de la misma. Hoy en día todo tipo de empresa, desde la más grande hasta la más chica, puede tener un sistema informático que le permita acceder con rapidez a sus registros y generar respuestas eficientes ante las situaciones que se le presenten. En vista de ello podemos mencionar que la mayoría de las aplicaciones tiene algún contacto con los datos almacenados por una empresa y que dichas aplicaciones son fundamentales hoy en día. Debido a esto surge la necesidad de manipular los datos pertinentes a una empresa de la mejor forma posible. La herramienta que vb.net ofrece en este caso se llama ADO.NET que es un conjunto de clases que permite acceder, leer y modificar los datos de un gestor de base de datos como Microsoft Access, SQL Server u Oracle. Cabe mencionar que ADO.NET es tan extenso que es necesario estudiarle para determinar las mejores herramientas en cada posible escenario al que puede enfrentarse un programador de tal forma que su tarea se vea simplificada por las bondades que ofrece. Es así como ADO.NET ofrece diferentes tipos de conectores a base de datos dependiendo del Gestor y también brinda una serie de clases que ayudan de acuerdo a las necesidades y objetivos de la aplicación. Página 1 de 10
III. DESARROLLO DE LA GUÍA ADO.NET es definido en la MSDN como un conjunto de clases que exponen servicios de acceso a datos para que el programador pueda fácilmente hacer aplicaciones de uso compartido mediante datos distribuidos. Dichas librerías ayudan a realizar tareas de manipulación de datos como se explica en la figura 1. Fig. 1: Tareas habituales en la programación de base de datos. Como se puede apreciar, la aplicación es la encargada de abrir la conexión y solicitar los datos al Gestor de base de datos. Este envia los datos a la aplicación para su modificación. Por último, se debe programar la transmisión y el cierre de la conexión desde la aplicación. Este acceso a los datos puede ser dentro de dos entornos: conectado o desconectado. En el entorno conectado los usuarios están con la conexión todo el tiempo, mientras que en el entorno desconectado sólo se obtienen los datos y se cierra la conexión. Las ventajas y desventajas se presentan en la tabla 1: ENTORNO CONECTADO Entorno más fácil de manejar. La concurrencia se controla más fácilmente. Los datos están actualizados. Debe existir una conexión a red constante. Escalabilidad limitada. ENTORNO DESCONECTADO VENTAJAS Las conexiones se utilizan menor tiempo lo que permite proveer de mayor número de servicios a los usuarios. Mejora escalabilidad y rendimiento de la aplicación. DESVENTAJAS Los datos no siempre están conectados. Pueden producirse conflictos de cambios y deben solucionarse. Tabla 1: Ventajas y desventajas sobre el uso de entorno conectado y desconectado. Página 2 de 10
La conexión a la base de datos también depende del Gestor de base de datos utilizados ya que dependiendo del Gestor de base de datos así debe elegirse el correcto Proveedor de datos.net Framework. Así, no se debe ocupar el mismo proveedor para conectarse a SQL Client que a Microsoft Access. Recordar que ADO.NET incluye proveedores de datos de.net Framework para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Los resultados se procesan directamente o se colocan en un objeto DataSet de ADO.NET con el fin de exponerlos al usuario para un propósito específico, combinados con datos de varios orígenes, o de utilizarlos de forma remota entre niveles. El objeto DataSet de ADO.NET también puede utilizarse independientemente de un proveedor de datos de.net Framework para administrar datos que son locales de la aplicación o que proceden de un origen XML. 1. Así, podemos concluir que cada proveedor de datos Framework.NET pertenece a ADO.NET que es la librería general para la conexión de datos. Los proveedores de.net Framework se muestran en la tabla 2: Proveedor de datos Descripción de.net Framework Proveedor de datos Proporciona acceso de datos para Microsoft SQL Server versión 7.0 o posterior. de.net Framework Utiliza el espacio de nombres System.Data.SqlClient. para SQL Server Proveedor de datos Para orígenes de datos que se exponen mediante OLE DB. Utiliza el espacio de de.net Framework nombres System.Data.OleDb. para OLE DB* Proveedor de datos Para orígenes de datos que se exponen mediante ODBC. Utiliza el espacio de de.net Framework nombres System.Data.Odbc. para ODBC Proveedor de datos Para orígenes de datos de Oracle. El proveedor de datos de.net Framework de.net Framework para Oracle es compatible con la versión 8.1.7 y posteriores del software de para Oracle cliente de Oracle y utiliza el espacio de nombres System.Data.OracleClient. Tabla 2: Diferentes proveedores de.net Framework. *OLEDB es el proveedor utilizado para conectarse a Microsoft Access. Dichos Framework poseen objetos y clases principales para la conexión y manipulación de datos. Dichos objetos se especifican en la tabla 3: Objeto Descripción Connection Establece una conexión a un origen de datos determinado. La clase base para todos los objetos Connection es DbConnection. Command Ejecuta un comando en un origen de datos. Expone Parameters y puede ejecutarse en el ámbito de un objeto transacción (Transaction de Connection). La clase base para todos los objetos Command es DbCommand. DataReader Lee una secuencia de datos de sólo avance y sólo lectura desde un origen de datos. La clase base para todos los objetos DataReader es DbDataReader. DataAdapter Llena un DataSet y realiza las actualizaciones necesarias en el origen de datos. La clase base para todos los objetos DataAdapter es DbDataAdapter. Transaction Permite incluir comandos en las transacciones que se realizan en el origen de datos. La clase base para todos los objetos Transaction es DbTransaction. Parameter Define los parámetros de entrada, salida y valores devueltos para los comandos y procedimientos almacenados. La clase base para todos los objetos Parameter es DbParameter. Exception Se devuelve cuando se detecta un error en el origen de datos. En el caso de que el error se detecte en el cliente, los proveedores de datos de.net Framework inician una excepción de.net Framework. La clase base para todos los objetos Exception es DbException. Error Expone la información relacionada con una advertencia o error devueltos por un origen de datos. Tabla 3: Clases principales de.net Framework. Página 3 de 10
En la presente guía, se impartirá un ejemplo de conexión a datos en entorno conectado. III. REQUERIMIENTOS O MATERIAL Y EQUIPO Nº Cantidad Descripción 1 1 PC con Microsoft Visual Studio.NET y Windows 7 con acceso a Internet 2 1 Guía de Laboratorio #9 de LPI 3 1 Disquete o Memoria USB IV. PROCEDIMIENTO Aplicación 1: Verificación de productos provistos por una empresa. En el siguiente ejemplo se mantiene un registro de los productos suministrados por un proveedor y tambien puede eliminar a los mismos. La conexión a la base de datos se hará mediante la designación de código. 1. Crear un proyecto llamado Practica9_ejercicio1. 2. Modificar el form1, agregando los controles mostrados en la Fig. 2: Control (Name) Name Text ComboBox cmbproveedor Button btnbuscar Buscar Button btneliminar Eliminar ListBox lstproductos Fig. 2: Primer Form de la práctica. 1. Guarde el proyecto en la ubicación que crea conveniente. 2. Descargue del sitio web al recurso correspondiente para esta practica, que consiste en una base de datos llamada ADQUISICIONES.accdb, creada bajo MS Access 2007. 3. Haga una copia del archivo Adquisiciones.accdb en la carpeta (bin\debug) dentro de su carpeta de proyecto. 4. En el código del módulo de clase del Form actual, digite el siguiente código. Página 4 de 10
5. Digite en el Load del Form actual 6. Digité en el click del btnbuscar Página 5 de 10
7. Digite en el click del btneliminar 8. Guarde su propyecto y compílelo 9. Ejecute el proyecto. Se muestran los nombres de los productos, recuperados de la conexión a la bdd 10. Realice una búsqueda y luego elimine un producto especifico. 11. Cierre el proyecto de VB y abra el archivo de la BDD adquisiciones.accdb 12. Confirme que el producto fue borrado de la tabla Productos. Aplicación 2: En la siguiente aplicación se efectuará una conexión a Base de datos mediante el uso de objetos y manipulación gráfica. Esto ayuda a que el entorno se mantenga conectado. Para ello, vamos a seguir los siguientes pasos: 1. Dar click derecho sobre el proyecto. Click en la opción ADD y a continuación Nuevo Form. Página 6 de 10
2. Repetimos el paso anterior, sólo que hoy se debe elegir Nueva base de datos Local. 3. Emerge una venta en la cual nos pide elegir un modelo de base de datos. Elegimos DataSet. Página 7 de 10
4. Dar click en siguiente. 5. Elegimos nueva conexión. 6. En Data Source, elegir Microsoft Access Database file. 7. Click en Browse y especificar la ruta de la base de datos, la cual se encuentra en la ruta (bin\debug) de su carpeta de proyecto. Probar la conexión. Página 8 de 10
8. Si todo está bien, click en OK. 9. Si es necesario, VB.NET preguntará si se desea agregar la BD al proyecto. Click en aceptar. 10. Especificar un nombre para la conexión y click en siguiente. 11. Elegir la tabla PRODUCTOS. Click en finalizar. 12. Verificamos que la conexión realizada este reflejada en el menú Data Source. 13. En dicho menú, desplegar la base de datos antes ingresada y buscar la tabla PRODUCTOS. Click en la tabla y arrastrar al form del proyecto. 14. Automáticamente, se genera la conexión a la tabla en el proyecto mediante un control de navegación y manipulación de datos. Página 9 de 10
V. ANALISIS DE RESULTADOS Valiéndose del código para eliminar un registro, haga un nuevo form donde pueda agregar y modificar datos. Crear un nuevo form y repetir el ejercicio 2 para la tabla de Proveedores. Realizar la siguiente aplicación para una agencia de viajes desea disponer de un sistema que contemple la información relativa de al hospedaje y vuelos de los turistas que la contratan. Tomar en cuenta: - Cada sucursal está definida por un código de sucursal, dirección y teléfono. - Los contratos con hoteles estará definido por código de hotel, nombre, dirección, cuidad, teléfono y número de plazas disponibles. Página 10 de 10