Uso de ADO.NET.

ADO.NET es un protocolo estándar creado por Microsoft para los entornos de desarrollo .NET y favorece que sus aplicaciones se conecten con las bases de datos de forma rápida y sencilla creando adaptadores específicos de datos y conjunto de datos, que se utilizarán en los controles del formulario para visualizar y manipular los datos del conjunto de datos.

Una base de datos es una recopilación organizada de información almacenada en un archivo. Ya sea una base de datos creada por Microsoft Access, Oracle, Microsoft SQL server o MySQL, podemos crear aplicaciones que se conecten con dichas bases de datos gracias a los conectores genéricos que nos proporciona ADO.NET

ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.

Una base de datos tiene una estructura en campos y registros (columnas y filas), lo que comunmente denominamos tablas de campos y registros.

tabla en ACCESS de bbdd

En ADO.NET se utilizan varios objetos para extraer y modificar la información contenida dentro de la base de datos. En la siguiente figura se muestra el esquema de la estrategia que se sigue y que veremos en esta clase.

Conexión de la base de datos al conjunto de datos

Como puedes ver arriba, lo primero es la conexión, en la cual se especifica la información para la conexión con la base de datos. A continuación se crea un adaptador de datos, que administra la recuperación de los datos de la base de datos y envía los cambios en los mismos. Luego se crea un conjunto de datos, que es la representación de una o varias tablas de la base de datos con la que se desea trabajar en el programa (se manipula una copia del conjunto de datos, no los datos reales de la base de datos). Para finalizar, la información de la base de datos se puede enlazar con un formulario.

En esta clase aprenderemos a manipular una base de datos ACCESS con la tecnología de acceso ADO.NET. Vamos a utilizar el explorador de servidores para establecer la conexión con la base de datos ACCESS de mirpas que te puedes bajar desde el enlace de descarga de la práctica de esta clase o desde el siguiente Enlace.

Lo primero que vamos a hacer para ir aprendiendo es crear un proyecto nuevo de VB, de aplicación de escritorio que se llame CONECTOR_BBDD_ACCESS, como ves en la imagen.

nuevo proyecto que nos servirá para entender ADO.NET

En la práctica de la clase 8, ya vimos como conectar una base de datos ACCESS de manera directa sin usar el Explorador de servidores. En esta clase vamos a usarlo para que veas los pasos de manera visual y con pocas líneas de código.

Procesado de una base de datos access.

El Explorador de servidores, nos sirve para establecer una conexión con la base de datos access. Pero antes, deberas de tener una base de datos access. Yo utilizaré la base de datos access de la práctica del videoclub (enlace anterior) y que te podrás bajar dicha base de datos en la práctica de esta clase.

NOTA: Si no tienes instalado Microsoft ACCESS, no te preocupes ya que no te hace falta porque no es necesario que tengas instalado el paquete de Microsoft ya que ADO.NET incluyen las herramientas necesarias para el acceso y manipulación de la información contenida dentro del archivo.

Orígenes de datos.
Cuando se abre el nuevo proyecto, en la parte izquierda, junto al Cuadro de Herramientas tienes el Orígenes de datos, o lo que es lo mismo el antiguo Explorador de Servidores de antiguas versiones.

Origenes de datos nos servirá para realizar la conexión a la base de datos.

Pulsa sobre el botón de Agregar nuevo origen de datos Icono de origenes de datos de vb.net y se te abrirá la ventana para que selecciones el tipo de dato que quieres establecer. En este caso escogeremos Base de datos.

Asistente de orígenes de datos

Pulsa Siguiente para continuar, una vez escogida la opción de Base de datos. La siguiente ventana del asistente de conexión, te permitirá escoger entre Conjuntos de datos o modelo entidad-relación. Como lo que queremos es usar la base de datos, necesitaremos escoger el primer modelo completo de Conjunto de datos.

Asistente de orígenes de datos muestra la opción de escoger base completa

Pulsa Siguiente y se te mostrará otra ventana en la cual tendrás que escoger la conexión de los datos que usarás. Como es una BBDD ACCESS, el botón de Nueva Conexión, al pulsarlo te mostrará las opciones que tienes disponibles para escoger la conexión según el tipo de BBDD.

Escoger proveedor de la base de datos que vamos a utilizar.

Selecciona el primer origen de datos (Archivos de datos de Microsoft ACCESS), y el proveedor de datos cambiará automáticamente a NET Framework para OLE DB como ves en la imagen.

Proveedor de datos NET Framework para OLE DB.

Al pulsar Continuar, se te abre la ventana de Agregar conexión en la cual, en el botón Examinar, escogerás la BBDD ACCESS que te has descargado para usarla.

Agregar conexión te permite establecer la ruta de la base de datos.

Como la base de datos que te has bajado no tiene contraseña, no hace falta que especifiques usuario o contraseña. Además es importante que tengas localizada la BBDD junto con sus archivos y directorios dentro de una raíz principal. Yo por ejemplo, tengo la BBDD y el directorio de carátulas dentro del directorio raíz VideoClub en mi escritorio.

directorio raíz de la base de datos

Una vez añadido, en la ventana anterior tienes el botón de Probar conexión que realiza una prueba de que la conexión se haya realizado correctamente. Si pulsas y te sale un mensaje afirmativo, es uqe todo va bien hasta el momento.

Prueba de conexión a la base de datos correcta

Si te ha dado un error en la prueba, revisa que la base de datos esté correctamente redactada, que no tenga contraseña ni usuarios para el acceso o que tengas los permisos para manipular dicho archivo.

Una vez confirmado la prueba pulsa sobre Aceptar y volverás al Asistente de orígenes de datos anterior. Pulsa Siguiente y si la base de datos no está en el proyecto actual (como es mi caso), te saldrá un mensaje indicandote que se realizará una copia de la BBDD al proyecto. Obviamente pulsa que SI.

copia la base de datos access al proyecto de vb.net

Terminando, es hora de dar un nombre al conector. Por defecto VStudio.NET te facilita un nombre al conector que lo forman el nombre del proyecto más la palabra ConnectionString (cadena de conexión). Puedes cambiarle el nombre a éste conector y poner el que prefieras. Yo lo dejaré por defecto.

Ventana de configuración para el connectionString

La última ventana que nos muestra el asistente, es la ventana de selección de objetos que queremos añadir a nuestra conexión. Es decir, que tipo de objetos de la base de datos ACCESS vamos a escoger. Como mi base de datos es muy básica y solo hay una tabla, escogeré el objeto de Tablas. Pero para BBDD complejas, podrás seleccionar los dos checkboxs. Fijate además que tiene la opción de seleccionar las tablas que quieras en la BBDD. Otro detalle importante es el nombre del DATASET. También lo escoge VStudio por defecto, pero también es editable.

Última ventana antes de terminar la conexión de la base ACCESS

Ahora ya puedes pulsar el botón de Finalizar y se te habrá creado la conexión a la base de datos Access, y que aparecerá en el Explorador de orígenes de datos.

Explorador de origenes de datos con la conexión establecida

Adaptador de datos.

Ahora que tenemos la conexión establecida, nos queda crear el adaptador de datos para sacar la información de la tabla y poder usarla en nuestra aplicación. Un adaptador de datos define la información que se utilizará y servirá de base al objeto Dataset (conjunto de datos), que será una representación de los datos a usar en el programa. Es importante crear el adaptador ya que muchas BBDD tienen estructuras complejas con muchas tablas y recursos; y necesitamos un filtro para establecer los datos de una cierta tabla, por ejemplo.

La forma más sencilla para incluir todos los controles necesarios en el formulario de nuestra aplicación es arrastrar la conexión creada anteriormente en el formulario, y con eso, tendremos ya el DataGridView, el adaptador, el DataAdapter y el menú de navegación de manera automática sin tener que programar nada.

Desarrollo del producto completo vía arrastrar

Como adaptador de datos se genera automaticamente una consulta SQL de SELECT ALL de los datos, por lo que se pueden ver todos los registros en el control DataGridView y, desde el menú de navegación, ir cargando los registros de la base de datos según va pasando el sistema por los botones Mover siguiente y Mover anterior, respectivamente, Agregar nuevo, Eliminar o Guardar datos, con lo que te permite crear nuevos registros en la base de datos, o eliminarlos a la par que guardar los registros.

Controles para la navegación de los datos

Detalles.
También podemos crear los controles independientes de forma que por cada dato de la BBDD tengamos un control para editarlo o visualizarlo de forma que cuando carguemos los registros, se muestren independientemente en cada control. Eso lo hacemos si en lugar de arrastrar el controlador por defecto, pulsamos clic derecho (o en el botón del desplegable en la ventana de Origenes de datos), sobre la conexión. Escoge ahora la opción de Detalles y arrastra al formulario.

detalles de la conexión crea controles independientes por cada registro de la tabla

En estos controles se cargarán los datos por registro de DataGridView y también serán editables gracias al menú del BindingNavigator.

detalles de la conexión crea controles independientes por cada registro del DataGridView

En esta clase has aprendido a crear una conexión con una base de datos ACCESS. Ahora visita la práctica para aprender a crear una conexión con una base de datos MySQL. Recuerda compartir éste curso si te ha parecido útil.