Академический Документы
Профессиональный Документы
Культура Документы
NET III
Unidad 3. Manipulación de datos mediante .NET
9º Cuatrimestre
Programa de la asignatura:
Programación .NET III
Clave:
150930934
Índice
Presentación de la unidad
En la unidad 1 Conexión con bases de datos en .NET se abordaron las tecnologías .NET
de acceso a datos, el uso de la tecnología ADO .NET para recuperar y modificar datos así
como los análisis de requerimientos y el diseño de una base de datos relacional.
En esta unidad se realizará una interacción entre VB .NET y una base de datos, para ello
revisarás cómo se utiliza la clase MySqlCient la cual se conforma con librerías que
proporciona MySQL en .NET para trabajar con sus bases de datos y MySqConnection
para realizar la conexión a una base de datos desde VB .NET. Se explicará la forma en
que es posible manipular datos con las clases MySqlcommand y MySqlDataAdapter, con
el fin de que se realice un formulario para interactuar con una base de datos creada en
MySQL.
Propósitos
Competencia específica
MySql.Data.SqlClient describe una colección de clases que son utilizadas para poder
tener accesos a la base de datos de MySQL, este permite rellenar un objeto DataSet
residente en memoria para poder consultar y actualizar la base de datos de MySQL.
Primeramente se debe importar la clase MySql.Data.SqlClient para poder hacer uso del
ODBC (Open DataBase Connectivity) que este se refiere a un estándar para tener acceso
a los datos de una aplicación haciendo uso de cualquier gestor de base de datos, en este
caso de MySql para Visual Basic y de esta manera hacer la conexión con la base de
datos de MySQL.
Se importa la clase
MySql.Data.MySqlClient
MySqlException
En el ejemplo anterior se hace uso de una excepción para que el programa siga corriendo
sin mostrar nada si llegara a ocurrir algún error durante la ejecución, este código es para
conectarse con la base de datos y mostrar datos de una tabla.
MySqlError: Permiete recuperar una colección de errores que puede ser deltas por el
servidor. Ejemplo:
MySqlError
En el ejemplo anterior se hace uso del mismo código que a diferencia de MySqlException
este recupera el número de error que puede presentarse durante la ejecución del
programa.
para interactuar con la base de datos para poder guardar y actualizar datos estos se
explicarán más delante en los siguientes temas.
3.1.2. MySqlConnection
En este capítulo se abordará la funcionalidad del uso del objeto MySqlConnection así
como la instalación necesaria del driver que proporciona gratuitamente MySQL para su
descarga e instalación y que será utilizado junto con los objetos MysqlDataAdapter y
MysqlCommand los cuáles revisarás en el tema 3.2 Manipulación de los datos.
La clase MySqlConnection hace una conexión única con la base de datos de MySQL que
se utiliza comúnmente en combinación con MySqlCommand, MySqlDataReader,
MySqlDataAdapter (estos se explicaran más adelante en el subtema 3.2.1.
MysqlDataAdapter y 3.2.2 MySqlCommandt) o algún otro componente utilizado para la
interoperabilidad de MySQL. Un objeto MySqlConnection representa un origen de datos
de la base de datos de MySQL (Bell, 2012).
Si no quieres
suscribirte a otros
recursos puedes dar
clic en esta opción y
descargar los drivers
de MySQL
5. Una vez creado el proyecto, deberás agregar las referencias de las clases que acabas
de instalar, esto lo harás en el entorno de desarrollo Visual Studio 2010. Para realizar esto
en el entorno de desarrollo, en la barra de menú deberás dar clic en la opción Project y
seleccionarás la opción Add reference, tal como lo muestra la imagen siguiente.
5. Una vez que selecciones las opciones antes descritas, te mostrará una nueva ventana,
ahí tendrás que seleccionar la pestaña que dice NET y dentro de ella deberás buscar la
opción que dice MySql.Data tal y como lo muestra la siguiente imagen.
Se importa la clase
MySql.Data.MySqlClient
ConnectionString: integra la cadena de tipo String que son los parámetros que se
necesitan para conectarse a una base de datos utilizada para conectar una base de
datos de MySQL. Por ejemplo:
El DataGridView se encuentra en la
barra de herramientas, para poder
agregarlos solamente hay que
arrastrar el componente al formulario
que se quiera utilizar
Finalmente para poder mostrar los datos de una tabla que se encuentra en una base de
datos de MySQL, se muestra un ejemplo para poder visualizar los datos:
En el siguiente ejemplo se expone un formulario con dos botones uno para salir y uno
para mostrar los datos en un DataGridView:
DataGridView
A continuación se genera el código para que funcione el botón que realizará la acción de
mostrar los datos en el cual se tiene el siguiente código:
En el ejemplo anterior se creó un objeto dentro del evento del botón el cual tiene la
finalidad de mandar a llamar el método cuando se le dé clic al botón y de esta manera
sea posible mostrar los datos en el DataGridView.
Para poder mostrar los datos se debe dar funcionalidad al método en ese caso se le
manda la consulta de los datos que se necesitan para que se muestren los datos de la
tabla quedando el código de la siguiente manera:
Así también los métodos más usados para abrir y cerrar la conexión son los siguientes
(MySQL, 2013d):
Uso de MySQLConnectionString con los métodos Close y Open. (Línea de código Lenguajes de
programación, 2011).
En conclusión el objeto MySqlConnection es una parte muy importante para poder abrir
y establecer una conexión con la base de datos junto con sus propiedades, por medio de
MySqlConnection String se configuran el nombre del servidor y de la base de datos entre
otros parámetros como se muestra en el ejemplo anterior. En el tema 3.3.1. Lectura de
información mediante VB .NET se mostrará un ejemplo claro de estas clases y métodos
mediante una aplicación de Visual Basic.
Actividad 1. Mysql.Data.SqlClient
1. Analiza los parámetros necesarios para poder realizar una aplicación que
muestre los datos de una tabla de una base de datos en MySQL.
2. Realiza los métodos necesarios para poder hacer una conexión a una base de
datos y mostrar una tabla con sus datos con el uso de un botón y un
DataGridView.
*Consulta la rúbrica para elaborar esta actividad que encontrarás en el archivo Criterios
de evaluación de actividades U3 para conocer los parámetros de evaluación de esta
actividad.
Actividad 2. MysqlConnection
El propósito de esta actividad es que identifiques los diferentes parámetros que pueden
ser empleados en una conexión, así como su resultado. Para realizar la actividad tu
Facilitador (a) te hará llegar un planteamiento, una vez que cuentes con él, realiza los
siguientes pasos:
3. Crea dentro del método con el nombre asignado una variable de tipo
MySqlConecction, llama al método ConnectionString y pasa los parámetros
necesarios para conectarte a la base de datos.
*Consulta la rúbrica para elaborar esta actividad que encontrarás en el archivo Criterios
de evaluación de actividades U3 para conocer los parámetros de evaluación de esta
actividad.
La manipulación de datos es uno de los aspectos más importantes que existe entre el
software y la base de datos ya que estos dos interactuarán directamente con los datos
que se soliciten o se guarden en la base de datos. Estos datos tienen que ser procesados
y validados para su uso por medio de la clase MySql.Data.SqlClient y MySqlConnection
como se mostró en los temas anteriores, después para poder interactuar con la base de
datos se hace uso de MysqlAdapter y MysqlCommand que llevarán el control de las
sentencias sql de MySQL.
En este tema se explicará la forma de uso de las clases necesarias para comunicar una
aplicación con el origen de datos para poder recuperar y guardar registros de una base de
datos que en este caso se trata de MySQL. Haciendo uso de MysqlDataAdapter y
MySqlCommand se puede establecer el puente que comunicará los registros con el origen
de base de datos estos dos temas se verán a continuación así como las clases y métodos
que conforman estos objetos.
3.2.1. MysqlDataAdapter
Este subtema es muy importante ya que MysqlDataAdapter sirve como puente entre un
conjunto de datos que se encuentran en la base de datos para poder recuperar y guardar
datos. El MySqlDataAdapter proporciona este puente haciendo uso del método Fill que
significa Agrega filas a DataSet y esto quiere decir que integra o actualiza filas para
hacerlas coincidir con las filas del origen de datos utilizando los nombres de DataSet y
DataTable, que son objetos que se utilizan para manejar datos de la base de datos
(MySQL, 2013d). Para cargar los datos desde la base de datos y Update para cambiar
los datos en el origen de datos y emparejar los datos en un DataSet.
Llena un DataSet y a su vez crea las tablas y columnas necesarias para los datos
devueltos si aún no existen.
Us o de Sel ectComma nd
Us o de Ins ertComma nd
Us o de Del eteComma nd
DelecteCommand: Consigue una sentencia SQL para eliminar datos de un data set.
TableMapping: Proporciona un mapeo master entre una tabla fuente y un data table.
El método Fill refresca las filas en un DataSet del origen de datos usando el nombre del
DataSet y puede crear un DataTable.
En el ejemplo anterior se obtiene los registros de una fila de una tabla que se encuentra
en la base de datos de MySQL por medio de un DataSet.
Actividad 3. MysqlDataAdapter
3.2.2. MysqlCommand
MySqlCommand es una parte fundamental para poder abrir una conexión de base de
datos ya que esta clase recibe y ejecuta las sentencias SQL y parámetros necesarios
para establecer la conexión con la base de datos.
ExecuteScalar: Recupera un único valor de una base de datos. Ejemplo: Se ejecuta una
sentencia SQL donde se recupera un valor (MSDN, 2013c)
Actividad 4. MysqlCommand
3. Crea dentro del método Conexión una variable de tipo MySqlConecction, llama
al método ConnectionString y pasa los parámetros necesario para conectarte a
la base de datos y por último abre la conexión. No olvides realizar este código
dentro de un bloque TRY CATCH en el cual mandes un error al usuario si es que
la conexión no se realizó de una manera exitosa.
Una empresa que requiere desarrollar un software para contar con un control de las
ventas diarias, pero una parte muy importante es tener un control de los usuarios que
acceden al sistema. Para darle solución a este caso en específico se implementará un
formulario en VB .NET para leer información (consultar) y modificar (actualizar) usuarios
de una base de datos a la cual se nombrará catálogos.
La interfaz gráfica de usuario está desarrollada con VB .NET. Esta interfaz es la que se
muestra en la siguiente imagen y como te podrás percatar contiene los mismos campos
que la tabla usuario.
Recuerda que para ocupar las clases que te permitirán tener acceso a la base de datos
MySQL desde .Net se muestran más a detalle cómo instalarlas y agregar las referencias
al entorno de desarrollo en el capítulo 3.1.1 Clase MySql.Data.SqlCliente.
Es muy importante hacer la lectura de información de una tabla de la base de datos, por
que con esto es posible traer todos los registros o solo el que se requiera consultar de una
tabla de alguna base de datos, estas lecturas se realizan con la sentencia SQL llamada
SELECT.
Para realizar una búsqueda observará cómo trabajan juntos el objeto DataAdapter y el
objeto DataSet así como MySqlCommand. Es de suma importancia que estés
familiarizado con estos términos, claro teóricamente, ya que aquí aprenderás cómo se
llevan a la práctica realizando un formulario en VB .NET
Como se muestra en la siguiente imagen hay un componente Button que tiene por
nombre Mostrar, este botón es el que llevará a cabo la lectura de información y así se
hará posible procesar la información que se encuentra dentro de la base de datos desde
VB .NET. A continuación se muestra cómo será el código que se ejecutará al dar clic en el
botón Mostrar, este código se encuentra en la siguiente imagen.
Antes de explicar el código, recuerda que dando doble clic sobre el botón al que
quieras darle funcionalidad, en la vista de diseño se generará automáticamente el
método que ejecutará cuando el usuario pulse este botón. Una vez realizado esto se
insertará dentro del método que genere el botón el cual se desea que ejecute, para
efectos de este tema, será mostrar información o lectura de información la cual
consiste en mostrar la información de un usuario cuyos datos se encuentran dentro
de la tabla usuario.
En las líneas 6 a 9 se observa la creación de las variables que se van a ocupar para
realizar la lectura de información de la base de datos.
Línea 6: En esta línea se crea la variable que tendrá la consulta SQL que se va a
ejecutar.
Recuerda que todo lo que se realiza después se mete en un bloque TRY CATCH ya
que si hay algún error en las líneas de código que se realicen dentro del bloque TRY,
el CATCH atrapará el error y dirá qué tipo de error se generó al ejecutar el bloque
TRY esto es manejo de excepciones (tema que ya revisaste en la asignatura
Programación .NET II), como se observa en la siguiente imagen.
Pantalla del código para leer información de la base de datos líneas 10 al 37 bloque TRY CATCH
Pantalla del código para leer información de la base de datos línea 12 ConnectionString
Línea 15: Si el flujo continúa, en la línea 15 se llena la variable sql que se creó en la
línea 6, esta variable contendrá la consulta SQL que se desea ejecutar que en este
caso se hace un select de todos los campos que contenga la tabla usuario donde el
campo id_usuario se igual al dato que selecciono el usuario en el componente
TextBox Clave usuario. Esto se muestra en la siguiente imagen.
Pantalla del código leer información de la base de datos línea 16 abrir la conexión
Pantalla del código leer información de la base de datos línea 17 creación del objeto DataAdapter
Línea 18: Se limpia el DataSet, esto se hace con el fin de que si ya se había
realizado alguna consulta anteriormente, este objeto se quede guardado en memoria
con los datos de la consulta previamente realizada, así que es muy importante limpiar
este objeto como se muestra a continuación en la imagen.
Pantalla del código leer información de la base de datos línea 18 limpia del DataSet
Línea 19: Una vez que se ejecutó el DataAdapter, el resultado de los datos que
almacena este objeto se almacenan en memoria, para poder manipular estos datos
en VB .NET se tiene que llenar el DataSet con los datos del objeto DataAdapter, al
método Fill se le darán como parámetros el DataAdapter y el nombre de tabla de la
consulta que se ejecutó, que para este caso sería a tabla usuario. Este código se
muestra en la siguiente imagen.
Pantalla del código leer información de la base de datos línea 19 llenado del DataSet .
Líneas 20 al 29: se realiza una validación la cual consiste en contar el número de filas que contiene el DataSet, si el
resultado es mayor a 0 quiere decir que la consulta que se realizó con el DataAdapter regresó resultados, en caso
contrario se enviará un mensaje al usuario especificándole que no hay registros para mostrar. Estos pasos observan en
la siguiente imagen.
Pantalla del código leer información de la base de datos líneas 22 a 26 llamando a la propiedad
DataBindings
Ahora se explicará la forma en que funciona este código el cual abrirá la conexión
con la base de datos para posteriormente Actualizar los campos de un registro con
la sentencia SQL UPDATE y al igual que en el anterior capítulo se hará mención al
número de línea que se encuentran del lado izquierdo en color verde.
Línea 68: Se crea la variable de tipo String llamada sql la cual contendrá la consulta
se quiere ejecutar en la base de datos.
Recuerda que todo lo que se realiza después se integra en un bloque TRY CATCH
ya que si hay algún error en las líneas de código que se realicen dentro del bloque
TRY, el CATCH atrapará el error y te mencionará o hará referencia acerca de qué
tipo de error se generó al ejecutar el bloque TRY. Esto que aquí se menciona lo
aprendiste de tus asignaturas de programación anteriores en el tema manejo de
excepciones y se muestra en la imagen siguiente.
Línea 73: Se hace una validación la cual consiste en si el Componente TextBox que
contiene la Clave de usuario no está vacío se continua con el flujo ya que por el
id_usuario se seleccionará al usuario que se desea actualizar, en caso contrario se
mandara un mensaje al usuario especificándole que este campo se encuentra vacío
tal y como se muestra en la siguiente imagen.
Código actualizar registro de la tabla usuarios líneas 74 y 75 asignación de valor a la variable sql
Código actualizar registro de la tabla usuarios línea 76 abrir la conexión con el código
Línea 79: Por último en la línea 79 si todo salió bien se le manda un mensaje al
usuario que los datos que ingreso en el formulario fueron actualizados
correctamente, como se muestra en la siguiente imagen.
Para el caso de insertar registros, no es necesario abarcar otro capítulo ya que es exactamente el mismo código para
actualizar un registro en la base de datos, solo cambia la consulta SQL. Para que puedas observarlo se muestra el código
a continuación.
Autoevaluación
Realiza la autoevaluación para que puedas analizar el avance que has tenido y
detectar las áreas de oportunidad respecto al estudio de la tercera unidad.
1. Elabora el código SQL para crear la tabla dentro de la base de datos que
hayas mencionado en tu planteamiento del problema, recuerda que tu tabla
debe contener una Primary key con la cual identificarás los registros que
guardes y actualices desde el formulario que vas a crear.
No olvides realizar los mensajes que vera el usuario si es que las acciones
se realizaron de manera correcta o si hay algún error.
Autorreflexiones
Además de enviar tu trabajo de la Evidencia de aprendizaje, ingresa al foro
Preguntas de Autorreflexión y consulta los cuestionamientos que tu Facilitador(a)
presente, a partir de ellos elabora tu Autorreflexión.
Cierre de unidad
En esta unidad se abordaron los temas que tienen como finalidad que cuentes con la
posibilidad de desarrollar una aplicación utilizando las tecnologías VB. NET y
MySQL, abordando la forma como se lleva a cabo una conexión ConMySQL
mediante .NET utilizando las clases MySql.data.SqlClient y MySqlConnection.
http://msdn.microsoft.com/es-mx/
http://stackoverflow.com/search?q=Visual+Basic
http://www.mysql.com/
Fuentes de consulta