Bases De Datos
Definición de Base De Datos.
Una base de datos es una colección de valores o datos que pueden ser números telefónicos, nombres de personas, valores numéricos, etc.
Todos en la vida manejamos datos que necesitamos almacenar en algún lado.
Para eso sirven las bases de datos, para guardar datos y utilizarlos cuando los necesitemos.
En este capítulo, aprenderá como enlazar una base de datos de Access y presentarla en Visual Basic.
Los mismos principios se aplican, pero un poco más complejos, al manipular con Visual Basic, bases de datos en SQL
Para este ejercicio se ha creado una base de datos sencilla en Access 2010 la cual será conectada a Visual Basic. Pero usted puede escoger una base en Access que tenga en su computadora; o instalar la base de datos que está incluida en el Cd que acompaña a este libro.
ADO.NET
La herramienta que dispone Visual Basic para trabajar con bases de datos es ADO.NET
Para hacer la conexión con éxito, se hace uso de varios objetos dependiendo del tamaño de la base de datos que se quiere conectar, por ejemplo para conectar una base de datos de Access se puede hacer uso del objeto OLE DB
Los objetos OLE DB son llamados Proveedores de datos y hay de diferentes tipos por ejemplo algunos de ellos son JET, SQL SERVER Y ORACLE
Data Set
Sirve para almacenar temporalmente la información de la base de datos una vez que se ha hecho la conexión.
Es como crear una copia de la base de datos original. Igual función puede cumplir Data Table si lo que se quiere es que los que accedan a la base de datos puedan verla sin modificar los datos.
Data Table:
Tiene la misma función que Data Set, es decir, se usa para almacenar temporalmente la información de la base de datos pero sin que puedan ser modificados.
Tanto el Data Set como Data Table son elementos que no son visibles al usuario por que sus datos permanecen ocultos.
Data Adapter:
Para que haya comunicación entre el Objeto de Conexión y el objeto que almacenará los datos, es necesario un intermediario que contactará el Objeto de conexión y ejecutará la consulta previamente definida y a continuación presentará los resultados de esa consulta en un Data Set.
Sirve como un enlace entre el objeto proveedor, (objeto OLE DB) y el que almacenará temporalmente la información que es como una copia temporal de la base de datos original a la que se ha hecho conexión (Data Set.)
Imagine un televisor conectado a un proveedor de corriente eléctrica (toma corriente o enchufle) como dicen en mi país) que está en la pared, obviamente para que el televisor funcione tiene que estar conectado y recibir la energía eléctrica, a través de un cable que va del televisor al toma corriente.
El Toma corriente de la pared sería el equivalente al Objeto Proveedor (OLE DB), el televisor sería el Data Set o Data Table y el cable sería el Data Adapter.
Es una estructura de datos que contiene la información de una base de datos específica y que el ODBC (objet database conectivity) necesita para hacer la conexión a la base de datos. En otras palabras el DataSource nos indica el origen de la base de datos.
BindingSource: hace posible la vinculación de los controles de un formulario a los datos. Esto es posible al asociar el componente BindingSource al origen de datos utilizando la propiedad DataSource.
Aquí no se explica como hacer una base de datos en Acces, porque no es objetivo de este libro enseñar Access, sino, Visual Basic, pero si se incluye una base de datos en los archivos que acompañan en un dispositivo adjunto a este libro.
Ejercicio: Base De Datos
Abra Visual Basic 2010 y cree un nuevo proyecto desde menú Archivo y asígnele el nombre Base De Datos.
Cuando se despliegue el IDE, Abra el menú proyecto y en el submenú que se abre, elija Agregar nuevo elemento.
![5800 5800](/uploads/cursos/6674/27942_5800.es.png)
Se desplegará una nueva ventana…
![5801 5801](/uploads/cursos/6674/27943_5801.es.png)
Elija Base de Datos local…
![5802 5802](/uploads/cursos/6674/27945_5802.es.png)
![5803 5803](/uploads/cursos/6674/27944_5803.png)
Dé clic en Aceptar…
![5804 5804](/uploads/cursos/6674/27946_5804.es.png)
![5805 5805](/uploads/cursos/6674/27947_5805.es.png)
Dé clic dos veces en botón Anterior para que aparezca esta ventana…
![5806 5806](/uploads/cursos/6674/27948_5806.es.png)
Dé clic en Nueva conexión y aparece la siguiente ventana…
![5807 5807](/uploads/cursos/6674/27949_5807.es.png)
Dé clic en Cambiar y elija Archivo de base de datos Microsoft Access y luego dé clic en Aceptar…
![5808 5808](/uploads/cursos/6674/27950_5808.es.png)
Aparece esta ventana…
![5809 5809](/uploads/cursos/6674/27951_5809.es.png)
Dé clic en el botón Examinar para navegar hasta el archivo donde tiene almacenada la base de datos…
![5810 5810](/uploads/cursos/6674/27957_5810.es.png)
Luego dé clic en Abrir y se mostrará la ventana pero ya con la base de datos de Access en la casilla correspondiente que dice Nombre del archivo de la base de datos…
![5811 5811](/uploads/cursos/6674/27952_5811.es.png)
De clic en Aceptar…y le aparece una ventana con una advertencia en la cual debe contestar Sí…
![5812 5812](/uploads/cursos/6674/27953_5812.es.png)
![5813 5813](/uploads/cursos/6674/27955_5813.es.png)
Ponga un Check en las casillas de verificación de tablas y vistas…
![5814 5814](/uploads/cursos/6674/27954_5814.png)
Luego clic en finalizar…
Visual Basic lo llevará de nuevo al IDE, pero ahora observe que a la izquierda hay un botón que dice Orígenes de datos…Ábralo…
![5815 5815](/uploads/cursos/6674/27956_5815.png)
Se mostrará esta ventana que obviamente será diferente de acuerdo a su base de datos, por que las tablas, a lo mejor son diferentes y tienen otro nombre…
![5816 5816](/uploads/cursos/6674/27959_5816.png)
Ahora agregue al formulario, cada campo de la tabla, poniéndole el puntero del mouse y arrastrando uno a la vez.
Observe que automáticamente se instalan en el formulario los botones para navegar entre los registros, también hay botones para guardar, agregar y eliminar.
![5817 5817](/uploads/cursos/6674/27958_5817.es.png)
Presione F5 para ejecutar el programa.
![5818 5818](/uploads/cursos/6674/27960_5818.es.png)
Aquí hay tres registros, por que solo esos hay en la base de datos, pero quizá, en la que usted conectó hayan muchos más.
Ahora puede navegar entre los registros y modificar el formulario. Por ejemplo ponerle color y títulos en el Label para que se vea diferente.
DataGridView:
Este control sirve para mostrar datos de una manera que podamos personalizar.
Este control se encuentra en la categoría de Datos del cuadro de herramientas.
![5819 5819](/uploads/cursos/6674/28002_5819.png)
Ejercicio: Mostrar base de datos en DataGridView
- Cree un nuevo proyecto con el nombre Base de datos DataGridView
- Agregue un control DataGridView desde el cuadro de herramientas
![5820 5820](/uploads/cursos/6674/27961_5820.es.png)
- Dé clic en la pestañita que se ve en el área superior derecha del control
Y se verá así:
![5821 5821](/uploads/cursos/6674/27962_5821.es.png)
- Abra la ventanita dando clic en la pestañita y elija Agregar origen de datos del proyecto
Aparecerá la siguiente ventana en donde elegirá Base de datos y luego clic en siguiente…
![5823 5823](/uploads/cursos/6674/27964_5823.es.png)
Luego elija conjunto de datos y dé clic en Siguiente…
![5824 5824](/uploads/cursos/6674/27965_5824.es.png)
- En la ventana que se despliega elija Nueva conexión…
![5825 5825](/uploads/cursos/6674/27966_5825.es.png)
Luego en cambiar…
![5826 5826](/uploads/cursos/6674/27967_5826.es.png)
En la ventana que se despliega elija Archivo de base de datos Microsoft Access, por que la base de datos que se mostrará está hecha en Access. Ahora dé clic en Aceptar.
- Luego dé clic en Examinar…
![5829 5829](/uploads/cursos/6674/27970_5829.es.png)
Y se abrirá un cuadro de dialogo que le permitirá navegar hasta la base de datos de Access que tenga en su PC.
En el caso de este ejemplo, la base de datos se llama Libros y está hecha en Access.
![5830 5830](/uploads/cursos/6674/27969_5830.es.png)
Una vez localizada la base de datos dé clic (si no la tiene, cópiela a su pc desde el Cd que acompaña a este libro) o puede usar cualquier otra base de datos hecha en Access que tenga en su computadora.
![5831 5831](/uploads/cursos/6674/27973_5831.es.png)
Observe que la ruta de la base de datos seleccionada se muestra en el TextBox que tiene como título Nombre del archivo de la base de datos:
- Dé clic en Probar conexión en esa misma ventana y si todo está bien se mostrará un mensaje informándole que la conexión de prueba funciona bien.
![5832 5832](/uploads/cursos/6674/27972_5832.png)
![5833 5833](/uploads/cursos/6674/27971_5833.es.png)
- Dé clic en siguiente…
![5834 5834](/uploads/cursos/6674/27975_5834.es.png)
- Aparece un mensaje como el de la imagen anterior en donde debe decir que Sí.
![5835 5835](/uploads/cursos/6674/27974_5835.es.png)
- En la ventana que se muestra ponga Check en Tablas y Vistas
![5837 5837](/uploads/cursos/6674/27976_5837.png)
- Dé clic en Finalizar y se mostrará lo siguiente…
![5838 5838](/uploads/cursos/6674/27978_5838.es.png)
- Expanda el formulario y el DataGridView para que las columnas se vean completas.
![5839 5839](/uploads/cursos/6674/27979_5839.es.png)
- Ejecute el programa para que vea los datos mostrados en el DataGridView.
![5840 5840](/uploads/cursos/6674/27980_5840.es.png)
Se puede modificar la apariencia de la tabla dando clic derecho sobre el control DataGridView y al dar clic en editar elementos se muestra la siguiente ventana…
![5841 5841](/uploads/cursos/6674/27981_5841.es.png)
- Seleccione Id en la columna izquierda y abra las opciones en DefaultCellStyle…
Al abrirse la ventana dé clic en la flecha que aparece y en la paleta de colores escoja el color que quiera o los que se sugieren.
En donde debe configurar la propiedad BackColor (color de fondo) en Aqua y ForeColor (Color de letra) en color marron
![5842 5842](/uploads/cursos/6674/28004_5842.png)
![5843 5843](/uploads/cursos/6674/27983_5843.es.png)
![5844 5844](/uploads/cursos/6674/27982_5844.es.png)
- Dé clic en Aceptar y luego ejecute el programa y verá como la columna Id cambió de apariencia en el color de fondo y letra.
![5845 5845](/uploads/cursos/6674/27985_5845.es.png)
- Puede continuar explorando otras posibilidades usando el mismo procedimiento que acaba de hacer o leer para darle otra apariencia a las otras columnas.
- De tarea le dejo que haga mas grande la letra de la columna Id para que quede como la imagen que sigue.
Solo le daré una pista y es que se hace en la propiedad Font que está ubicada debajo de BackColor. ¡Adelante!
![5846 5846](/uploads/cursos/6674/27984_5846.png)
- Continúe explorando posibilidades con el DataGridView por que las posibilidades son muchas y sería difícil explicarlas todas.
BindingNavigator
El control BindingNavigatores un control especial que permite navegar y manipular controles en un formulario que están conectados a bases de datos.
26.10 Ejercicio: Usando BindingNavigator
- Crear un nuevo proyecto llamado Base de datos BindingNavigator2010
- Agregar 4 TextBoxs al formulario
- Agregar 4 labels con la propiedad Text igual Código Libro, Nombre, Especialidad y Autor respectivamente.
- Agregar un Control BindingNavigator
- Agregar un control BindingSource
![5847 5847](/uploads/cursos/6674/27986_5847.png)
Observe en la imagen anterior como se observan el BindingNavigator y el BindingSource en el cuadro de herramientas.
En la imagen siguiente se muestra la apariencia del formulario cuando ya se ha agregado el BindingNavigator.
![5848 5848](/uploads/cursos/6674/27987_5848.es.png)
![1861200 1861200](/uploads/cursos/6674/28005_1861200.png)
Observe el BindingNavigator y el BindingSource en la bandeja de componentes del IDE
- Conectar el BindingSource a una base de datos llamada Libros y que está hecha en Access
Esto se logra dando doble clic en el BindingSource1 en la bandeja de componentes y se abrirá la siguiente ventana en donde abrirá las opciones de DataSource.
![5849 5849](/uploads/cursos/6674/27988_5849.es.png)
Al dar clic en la flecha de la derecha de DataSource verá la siguiente ventana en donde dará clic en Agregar origen de datos del proyecto…
![5850 5850](/uploads/cursos/6674/27989_5850.es.png)
Se mostrará la siguiente ventana ydé clic en Siguiente.
![5851 5851](/uploads/cursos/6674/27990_5851.es.png)
Seleccione Conjunto de datos y dé clic en Siguiente.
![5852 5852](/uploads/cursos/6674/27992_5852.es.png)
Elija Nueva conexión.
![5853 5853](/uploads/cursos/6674/27991_5853.es.png)
En la ventana que se abre dé clic en Cambiar.
![5854 5854](/uploads/cursos/6674/27993_5854.es.png)
Se abre una nueva ventanay elija Archivo de base de datos de Microsoft Access dé clic en Aceptar.
![5855 5855](/uploads/cursos/6674/27994_5855.es.png)
Se abrirá una ventana en donde dará clic en Examinar
![5856 5856](/uploads/cursos/6674/27995_5856.es.png)
Al dar clic en el botón examinar le permitirá navegar hasta el archivo que contiene la base de datosde Accessy una vez que da clic en Abrir se mostrará en un TextBox como el señalado con la flecha roja.
![5857 5857](/uploads/cursos/6674/27998_5857.es.png)
Dé clic en Probar conexión.
![5858 5858](/uploads/cursos/6674/27996_5858.es.png)
Si todo está correcto se mostrará un mensaje informando de conexión correcta.
![5859 5859](/uploads/cursos/6674/27997_5859.png)
Dé clic en Aceptar.
![5860 5860](/uploads/cursos/6674/27999_5860.es.png)
Clic en Siguiente y aparecerá la siguiente ventana en donde debe contestar Sí.
![5861 5861](/uploads/cursos/6674/28014_5861.es.png)
Se muestra la siguiente ventana y dé clic en Siguiente.
![5862 5862](/uploads/cursos/6674/28015_5862.es.png)
En la ventana que se muestra ponga un check en la casilla Tablas y Vistas.
![5863 5863](/uploads/cursos/6674/28016_5863.es.png)
Luego dé clic en Finalizar.
![5864 5864](/uploads/cursos/6674/28017_5864.es.png)
Observe que el nombre de la base de datos (LibrosDataSet) aparece en la propiedad DataSource
![5865 5865](/uploads/cursos/6674/28007_5865.png)
Y en la bandeja de componentes aparece un elemento más (El DataSet)
Que en este caso es LibrosDataSet
![5866 5866](/uploads/cursos/6674/28008_5866.png)
- Conectar el TextBox al Ítem ID
Para hacer la conexión debe abrir las propiedades del TextBox1 y dé clic en la flecha de la propiedad (DataBindings)
![5867 5867](/uploads/cursos/6674/28009_5867.png)
Se abrirá una ventana quemuestra un ítem que dice Text que tiene una flecha a la derecha.
Nota: este ítem nada tiene que ver con la propiedad Text que está más abajo.
Dé clic en la flecha.
![5868 5868](/uploads/cursos/6674/28019_5868.png)
Dé clic en la flecha de Otros orígenes de datos
![5869 5869](/uploads/cursos/6674/28020_5869.png)
Dé clic en Orígenes de datos del proyecto.
![5870 5870](/uploads/cursos/6674/28021_5870.png)
Dé clic en LibrosDataSet y luego dé clic en la flecha de LibrosDataSet y luego dé otro clic en Id
![5871 5871](/uploads/cursos/6674/28022_5871.png)
![5872 5872](/uploads/cursos/6674/28023_5872.png)
Observe que Text contiene a LibrosBindingSource-Id
Lo anterior significa que el TextBox1 del formulario está conectado a la columna Id de la base de datos.
- La propiedad BindingSource del BindingNavigator pasarla a LibrosBindingSource
![5874 5874](/uploads/cursos/6674/28024_5874.png)
Y quedará así:
![5880 5880](/uploads/cursos/6674/28028_5880.png)
Si ya hizo todos los pasos anteriores pruebe la aplicación y verá lo siguiente.
![5875 5875](/uploads/cursos/6674/28026_5875.es.png)
Observe que en el TextBox1 se muestran los datos del ID de la base de datos.
Para conectar los otros TextBox a los otros registros (Nombre, Especialidad y Autor) debe hacer el mismo procedimiento que hizo para el TextBox1 pero solo desde donde dice conectar el Textbox al Ítem ID y que a propósito se escribió en rojo. Lo único que cambiará el número del TextBox a TextBox2, etc.
Y en vez de Id elegirá Nombre, Especialidad y Autor respectivamente.
- Ejecutar el programa y observe como se puede navegar en los registros de la base de datos Libros.
Obviamente su base de datos será con nombre diferente.
![5876 5876](/uploads/cursos/6674/28027_5876.es.png)
Aparentemente el procedimiento para usar el BindingNavigator es largo y difícil pero en realidad no es así, pues ya en la práctica es fácil y una vez que aprenda los pasos, será mucho más fácil.