Académique Documents
Professionnel Documents
Culture Documents
Programa de la asignatura:
Programacin NET III
Clave:
15143632
ndice
Unidad 3. Manipulacin de datos mediante .NET .............................................................. 2
Presentacin de la unidad ................................................................................................. 2
Propsitos.......................................................................................................................... 2
Competencia especfica..................................................................................................... 2
3.1. Conexin con MySQL mediante. NET......................................................................... 3
3.1.1 Clases MySql.Data.SqlClient .................................................................................... 3
3.1.2. MySqlConnection ..................................................................................................... 6
Actividad 1. Mysql.Data.SqlClient .................................................................................... 14
Actividad 2. MysqlConnection .......................................................................................... 14
3.2. Manipulacin de datos .............................................................................................. 14
3.2.1. MysqlDataAdapter ................................................................................................. 14
Actividad 3. MysqlDataAdapter ........................................................................................ 18
3.2.2. MysqlCommand ..................................................................................................... 18
Actividad 4. MysqlCommand............................................................................................ 23
3.3. Implementacin de la aplicacin ............................................................................... 23
3.3.1. Lectura de informacin mediante VB .NET ............................................................ 24
3.3.2. Actualizacin de una base de datos MySQL mediante VB .NET ............................ 34
Autoevaluacin ................................................................................................................ 43
Evidencia de aprendizaje. Manipulacin de datos............................................................ 43
Autorreflexiones ............................................................................................................... 43
Cierre de unidad .............................................................................................................. 43
Para saber ms ............................................................................................................... 44
Fuentes de consulta ........................................................................................................ 44
Propsitos
Al trmino de esta unidad logrars:
Examinar los requerimientos tcnicos para desarrollar un caso prctico de
manipulacin de datos mediante .NET.
Competencia especfica
haciendo uso de cualquier gestor de base de datos, en este caso de MySql para Visual
Basic, y de esta manera hacer la conexin con la base de datos de MySQL.
A continuacion se muestra un ejemplo donde se hace uso de MySql.Data.SqlClient para
hacer una conexin con una base de datos de MySQL con el nombre de Alumnos.
Se importa la clase
MySql.Data.MySqlClient
Parmetros para la
conexin con la base de
datos
MySqlException
En el ejemplo anterior se hace uso de una excepcin para que el programa siga corriendo
sin mostrar nada si llegara a ocurrir algn error durante la ejecucin. Este cdigo es para
conectarse con la base de datos y mostrar datos de una tabla.
MySqlError: permite recuperar una coleccin de errores que puede ser deltas por el
servidor. Ejemplo:
MySqlError
En el ejemplo anterior se hace uso del mismo cdigo que a diferencia de MySqlException.
ste recupera el nmero de error que puede presentarse durante la ejecucin del
programa.
La clase MySql.Data.SqlClient es de suma importancia cuando se desea hacer una
conexin con la base de datos de MySQL, ya que contiene los las clases necesarias para
comunicar los datos de un aplicacin, as como recuperarlos y guardarlos en la base
de datos. MySqlCommand es la encargada de recibir y ejecutar sentencias SQL de la
base de datos, MySqlConnection establece la conexin a la base de datos ya que recibe
dos objetos, uno de tipo conexin y otro con la sentencia SQL. Por ltimo,
MySqlDataAdapter se utiliza para interactuar con la base de datos para guardar y
actualizar datos, stos se explicarn ms delante.
3.1.2. MySqlConnection
En este subtema se abordar la funcionalidad del uso del objeto MySqlConnection, as
como la instalacin necesaria del driver que proporciona gratuitamente MySQL para su
descarga e instalacin, y que ser utilizado junto con los objetos MysqlDataAdapter y
MysqlCommand; los cules revisars en el tema 3.2 Manipulacin de los datos.
La clase MySqlConnection hace una conexin nica con la base de datos de MySQL,
que se utiliza comnmente en combinacin con MySqlCommand, MySqlDataReader,
MySqlDataAdapter (se explicarn ms adelante, en los subtemas 3.2.1.
MysqlDataAdapter y 3.2.2 MySqlCommandt), o algn 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).
MySqlCommand: tiene la finalidad de ejecutar comandos SQL en la base de datos de
MySQL.
MySqlDataAdapter: permite recuperar, guardar o actualizar datos de a base de datos.
MySqlDataReader: funciona igual que MySqlDataAdapter, pero es utilizado cuando slo
se desea leer datos de la base de datos; por ejemplo, cuando se hace uso de un
comando SQL como SELECT.
A continuacin se explicarn los pasos necesarios para instalar y configurar el controlador
de MySql-Connector:
Da clic para
comenzar la
descarga.
Si no quieres
suscribirte a otros
recursos, puedes dar
clic en esta opcin y
descargar los drivers
de MySQL.
4. Crea un nuevo proyecto en Visual Basic despus de que se termine con el proceso de
instalacin del MySQL Connector.
5. Una vez creado el proyecto, debers agregar las referencias de las clases que acabas
de instalar, esto lo hars en el entorno de desarrollo Visual Studio 2010. En la barra de
men debers dar clic en la opcin Project y seleccionars la opcin Add reference, tal
como lo muestra la imagen siguiente.
5. Una vez que selecciones las opciones antes descritas se te mostrar una nueva
ventana. Ah tendrs que seleccionar la pestaa que dice NET y, dentro de ella, debers
buscar la opcin 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 parmetros que se
necesitan para conectarse con 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
Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software
10
que se quiera utilizar.
Finalmente, se muestra un ejemplo para visualizar los datos de una tabla que se
encuentra en una base de datos de MySQL:
En el siguiente ejemplo se expone un formulario con dos botones, uno para salir y otro
para mostrar los datos en un DataGridView:
Botn para mostrar daos
DataGridView
Se genera el cdigo para que funcione el botn que realizar la accin de mostrar los
datos. Para ello se tiene el siguiente cdigo:
11
En el ejemplo anterior se cre un objeto dentro del evento del botn, el cual tiene la
finalidad de mandar a llamar el mtodo cuando se le d clic, y de esta manera sea
posible mostrar los datos en el DataGridView.
Para mostrar los datos se debe dar funcionalidad al mtodo. Se manda la consulta de los
datos que se necesitan para que se muestren los de la tabla. El cdigo queda de la
siguiente manera:
Se crea la consulta SQL para mostrar los
datos. En este caso la tabla se llama
empleados.
Se le mandan los objetos a
MyDqlDataAdapter de la consulta y la
conexin.
Los mtodos ms usados para abrir y cerrar la conexin son los siguientes (MySQL,
2013d):
Open: abre una nueva conexin de la base de datos.
Close: cierra la conexin de la base de datos.
A continuacin se muestra el ejemplo de un cdigo utilizado para conectarse a una base
de datos de un servidor MySQL utilizando los mtodos Open y Close:
12
Uso de MySQLConnectionString con los mtodos Close y Open. Fuente: Lnea de cdigo. Lenguajes de
programacin, 2011.
13
Actividad 1. Mysql.Data.SqlClient
Realiza la actividad de aprendizaje siguiendo las instrucciones y las indicaciones de tu
Docente en lnea.
Actividad 2. MysqlConnection
Realiza la actividad de aprendizaje siguiendo las instrucciones y las indicaciones de tu
Docente en lnea.
3.2.1. MysqlDataAdapter
MysqlDataAdapter sirve como puente entre un conjunto de datos que se encuentran en la
base de datos para recuperar y guardar datos. El MySqlDataAdapter proporciona este
puente haciendo uso del mtodo Fill, que significa agrega filas a DataSet. Esto quiere
decir que integra o actualiza filas para hacerlas coincidir con las 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). Se utiliza la sentencia Select para
cargar los datos desde la base de datos y Update para cambiar los datos en el origen y
emparejarlos en un DataSet.
14
Llena un DataSet y, a su vez, crea las tablas y columnas necesarias para los datos
devueltos si an no existen.
15
Uso de SelectCommand
Uso de InsertCommand
Uso de DeleteCommand
16
Ejemplo del uso de SqlCommand, SqlDataAdapter y SqlConnection. Fuente: Microsoft, MSDN, 2013c.
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.
17
Actividad 3. MysqlDataAdapter
Realiza la actividad de aprendizaje siguiendo las instrucciones y las indicaciones de tu
Docente en lnea.
3.2.2. MysqlCommand
MySqlCommand es una parte fundamental para abrir una conexin de base de datos, ya
que esta clase recibe, ejecuta las sentencias SQL y los parmetros necesarios para
establecer la conexin con la base de datos.
En este captulo se abordar la funcin principal de MySqlCommand en la base de datos
de MySQL, as como los mtodos utilizados para trabajar con los datos de una base
MySQL. MySqlCommand es una sentencia de SQL que se utilizar para ejecutar una
base de datos MySQL, los mtodos que utilizan son los siguientes (Bell, 2012):
ExecuteReader: ejecuta comandos que devuelven filas. Ejemplo (MSDN, 2013b).
18
19
ExecuteScalar: recupera un nico valor de una base de datos. Ejemplo: se ejecuta una sentencia SQL donde se recupera
un valor (MSDN, 2013c).
Ejemplo del uso del mtodo ExecuteScalar. Fuente: MSDN, Microsoft, 2013c.
20
En el siguiente ejemplo se utiliza el mtodo ExecuteReader de MySqlCommand; el cual, en conjunto con MysqlConnection,
hace posible seleccionar filas de una tabla dentro de la base de datos:
21
22
Actividad 4. MysqlCommand
Realiza la actividad de aprendizaje siguiendo las instrucciones y las indicaciones
de tu Docente en lnea.
23
La interfaz grfica de usuario est desarrollada con VB .NET. Esta interfaz es la que
se muestra en la siguiente imagen. Como te podrs percatar, contiene los mismos
campos que la tabla usuario.
Las clases que te permitirn tener acceso a la base de datos MySQL desde .Net se
muestran ms a detalle cmo instalarlas y agregar las referencias al entorno de
desarrollo en el subtema 3.1.1. Clase MySql.Data.SqlCliente.
En los siguientes subtemas aprenders cmo realizar consultas, insertar registros y
modificar los de esta tabla, mediante una interfaz grfica de usuario desarrollada en
Visual Basic .NET, utilizando el entorno de desarrollo Visual Studio 2010.
24
25
26
Antes de explicar el cdigo, recuerda que dando doble clic sobre el botn al que
quieras darle funcionalidad, en la vista de diseo se generar automticamente el
mtodo que se ejecutar cuando el usuario pulse este botn. Una vez realizado
esto, se insertar dentro del mtodo que genere el botn el cual se desea que
ejecute; para efectos de este tema, ser mostrar informacin o lectura de
informacin, la cual consiste en mostrar la informacin de un usuario cuyos datos se
encuentran dentro de la tabla Usuario.
La explicacin del cdigo que se muestra en la imagen anterior, se realizar
mediante la mencin del nmero de lneas, estos nmeros se encuentran en color
verde del lado izquierdo de la imagen.
En las lneas 6 a 9 se observa la creacin de las variables que se van a ocupar para
realizar la lectura de informacin de la base de datos.
Lnea 6: se crea la variable que tendr la consulta SQL que se va a ejecutar.
Lnea 7: se crea la variable que realizar la conexin con la base de datos.
Lnea 8: se crea el DataAdapter, que ir a la base de datos a ejecutar la consulta
SQL para la lectura de informacin.
Lnea 9: se integra el DataSet. Tendr la informacin que regrese el DataReader
para manipular la informacin desde .NET.
Recuerda que todo lo que se realiza despus se mete en un bloque TRY CATCH, ya
que si hay algn error en las lneas de cdigo dentro del bloque TRY, el CATCH lo
atrapar y dir qu tipo de error se gener al ejecutar el bloque TRY. Esto es manejo
de excepciones, como se observa en la siguiente imagen:
27
Pantalla del cdigo para leer informacin de la base de datos lneas 10 al 37 bloque TRY CATCH
28
Pantalla del cdigo para leer informacin de la base de datos lnea 12 ConnectionString
29
Lnea 15: si el flujo contina, en la lnea 15 se llena la variable sql que se cre en la lnea 6. Esta variable contendr la
consulta SQL que se desea ejecutar, en este caso se hace un select de todos los campos que contenga la tabla usuario,
donde el campo id_usuario sea igual al dato que seleccion el usuario en el componente TextBox Clave usuario. Esto se
muestra en la siguiente imagen:
30
Lnea 16: se abre la conexin con el cdigo que se muestra en la imagen siguiente:
Pantalla del cdigo leer informacin de la base de datos lnea 16 abrir la conexin
Pantalla del cdigo leer informacin de la base de datos lnea 17 creacin del objeto DataAdapter
Lnea 18: se limpia el DataSet. Esto se hace con el fin de que si ya se haba
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 continuacin:
Pantalla del cdigo leer informacin de la base de datos lnea 18 limpia del DataSet
Lnea 19: una vez que se ejecut el DataAdapter, el resultado de los datos se
almacenan en memoria. Para manipular estos datos en VB .NET se tiene que llenar
el DataSet con los del objeto DataAdapter. Al mtodo Fill se le darn como
parmetros el DataAdapter y el nombre de tabla de la consulta que se ejecut, que
para este caso sera la tabla Usuario. Este cdigo se muestra a continuacin:
Pantalla del cdigo leer informacin de la base de datos lnea 19 llenado del DataSet.
31
Lneas 20 al 29: se realiza una validacin, la cual consiste en contar el nmero de filas que contiene el DataSet. Si el
resultado es mayor que cero, quiere decir que la consulta que se realiz con el DataAdapter regres resultados; en caso
contrario, se enviar un mensaje al usuario especificndole que no hay registros para mostrar. Estos pasos observan en
la siguiente imagen:
32
Pantalla del cdigo leer informacin de la base de datos lneas 22 a 26 llamando a la propiedad
DataBindings
En este captulo aprendiste cmo leer informacin de la base de datos, mediante una
consulta y abriendo la conexin desde .NET. Tambin se explic cmo trabajan
33
juntos los objetos DataAdapter y DataSet, para traer informacin de la base de datos,
manipularla desde .NET y, por ltimo, asignar los valores de este DataSet a lo
componentes TexBox, para mostrar estos resultados al usuario por medio del
formulario. En el siguiente captulo aprenders cmo actualizar los datos de una
base de datos MySQL, que en este caso ser Catlogos, en su tabla usuarios
desde VB .NET.
34
35
36
Ahora se explicar la forma en que funciona este cdigo, el cual abrir la conexin
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 captulo, se har mencin al
nmero de lnea que se encuentran del lado izquierdo en color verde.
De la lnea 68 a la 70 se hace la declaracin de variables para posteriormente
ocuparlas.
Lnea 68: se crea la variable de tipo String llamada sql, la cual contendr la consulta
que se quiere ejecutar en la base de datos.
Lnea 69: se crea el objeto conexin de tipo MySqlConnection, en el cual se abrir la
conexin con la base de datos que se desee conectar.
Lnea 70: se crea el objeto myCommand de tipo MySqlCommand, el cual realizar la
consulta UPDATE en la base de datos. El cdigo se muestra en la imagen siguiente:
Recuerda que todo lo que se realiza despus, se integra en un bloque TRY CATCH.
Si hay algn error en las lneas de cdigo 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 programacin anteriores en el tema manejo de excepciones, y
se muestra en la imagen siguiente:
37
38
En la lnea 72 en el objeto de conexin se llama a la propiedad ConnectionString y se le asignan los valores de la base de
datos a la cual se desea conectar. El cdigo se muestra en la siguiente imagen.
Lnea 73: se hace una validacin que consiste en que si el componente TextBox que contiene la clave de usuario no est
vaco, se contina con el flujo ya que por el id_usuario se seleccionar al usuario que se desea actualizar, en caso
contrario se mandar un mensaje al usuario especificndole que este campo se encuentra vaco, tal y como se muestra a
continuacin:
39
Lneas74 y 75: si el campo clave usuario en el formulario no est vaco, se le asignar un valor a la variable sql
previamente creada. ste ser una sentencia UPDATE de todos los campo del formulario, donde el campo id_usuario sea
igual a lo que tenga el campo clave de usuario en el formulario, el cdigo se muestra a continuacin:
Cdigo actualizar registro de la tabla usuarios lneas 74 y 75 asignacin de valor a la variable sql
40
Cdigo actualizar registro de la tabla usuarios lnea 76 abrir la conexin con el cdigo
Lnea 79: por ltimo, en la lnea 79, si todo sali bien, se le manda un mensaje al
usuario de que los datos que ingres en el formulario fueron actualizados
correctamente, como se muestra en la siguiente imagen:
41
Para el caso de insertar registros, no es necesario abarcar otro captulo ya que es exactamente el mismo cdigo que para
actualizar un registro en la base de datos, slo cambia la consulta SQL. Para que puedas observarlo se muestra el cdigo
a continuacin:
42
Autoevaluacin
Realiza la autoevaluacin para que puedas analizar el avance que has tenido y
detectar las reas de oportunidad respecto al estudio de la tercera unidad.
Autorreflexiones
Adems de enviar tu trabajo de la evidencia de aprendizaje, ingresa al foro
Preguntas de Autorreflexin y consulta los cuestionamientos que tu Docente en
lnea presente, a partir de ellos elabora tu autorreflexin.
Posteriormente, enva tu archivo mediante la herramienta Autorreflexiones.
Cierre de unidad
En esta unidad se abordaron los temas que tienen como finalidad que desarrolles
una aplicacin con base en las tecnologas VB. NET y MySQL. Tambin se estudi la
forma como se lleva a cabo una conexin ConMySQL mediante .NET, a partir de las
clases MySql.data.SqlClient y MySqlConnection.
Tambin se expuso la forma de manipular datos desde .NET, mediante el
MySqlDataAdapter, el cual permite guardar los datos que hayas consultado desde
.NET en memoria, para despus ocuparlos y mostrarlos en un formulario, as como
realizar consultas SQL desde .NET hacia una tabla de una base de datos creada en
MySQL con la clase MySqlCommand.
43
Para saber ms
El sitio que Microsoft proporciona a los desarrolladores .NET encontrars ms
informacin a detalle de los componentes y del lenguaje VB .NET en la pgina de
Microsoft Developer Network:
http://msdn.microsoft.com/es-mx/
En el foro Stack Overflow, puedes consultar diversas dudas sobre componentes y
cdigo de Visual Basic. El sitio est en ingls, puedes apoyarte de algunos
traductores que se encuentran en Internet para traducir las respuestas que obtengas
a las dudas que compartas en este foro. Su pgina es la siguiente:
http://stackoverflow.com/search?q=Visual+Basic
En la pgina de MySQL, encontrars todo lo referente al uso de las clases MySQL
http://www.mysql.com/
Fuentes de consulta
44
45