Вы находитесь на странице: 1из 18

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

INTRODUCCIN Hay varias maneras para realizar una conexin desde una aplicacin a un servidor de bases de datos. Entre ellos utilizaremos el ODBC el cual crea un nombre DSN con los datos de la conexin, y puede ser utilizad por varias aplicaciones diferentes. Como servidor de bases de datos utilizaremos MySQL y como lenguaje de programacin usaremos el Visual Basic 2010. CREACIN DEL ODBC 1. Primero que nada, debemos tener instalado el controlador ODBC para MySQL, el cual puede ser descargado desde la pgina del distribuidor: http://dev.mysql.com/downloads/connector/odbc/ nicamente hay que descargar la versin correspondiente a su sistema operativo y, posteriormente, seguir los pasos del instalador. , en 2. Con el controlador instalado, desde el panel de control, buscamos la aplicacin algunas ocasiones esta aplicacin tambin la podemos encontrar dentro de la carpeta de herramientas administrativas. En los equipos de Windows de 64 bits, la aplicacin para acceder al ODBC se encuentra en la siguiente ruta: C:/WINDOWS/SySWow64/ Una vez localizado el cono, accedemos a l y aparecer la siguiente ventana:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Dentro de DSN de usuario, es donde vamos a crear nuestro nombre de ODBC. Para ello pulsamos en el botn Agregar Y de la siguiente ventana vamos a buscar el controlador de MySQL (previamente instalado), y pulsaos Finalizar.

En seguida aparecer la ventana de configuracin de MySQL ODBC. Es ah donde debemos llenar con la informacin que usamos para ingresar al servidor de mysql. Cabe mencionar que el nombre que le demos en el campo Data Source Name es el nombre que debemos especificar desde nuestra aplicacin de Visual Basic o en cualquier otro lenguaje.

Si deseamos comprobar la conexin, pulsamos en el botn Test, el cual debe mostrar el siguiente mensaje en caso de que la conexin haya sido exitosa:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

En el caso en que nos muestre otro mensaje, debemos revisar los datos de la conexin. Por ltimo, pulsamos sobre el botn OK y veremos que nuestro ODBC, ya aparece en la lista de los Orgenes de datos de usuario.

Para finalizar el proceso, slo pulsamos sobre el botn de Aceptar y listo.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

CONEXIN A MYSQL DESDE VISUAL BASIC 2010. Primero que nada vamos a crear un nuevo proyecto en VB del tipo Aplicacin de Windows Forms.

Una vez especificado el nombre del proyecto y la ruta donde se almacenar, tendremos la siguiente ventana:

Donde podremos distinguir algunas zonas. Como el Diseo de la Formulario, la barra de Propiedades y el Explorador de Soluciones. A todos ellos podemos acceder y alternar desde los conos correspondientes.

1. Creando la conexin. Para establecer una conexin va ODBC a MySQL, debemos importar las clases necesarias para trabajar con ODBC, as como la declaracin e inicializacin algunas variables. a. Acedemos al cdigo del formulario pulsando la tecla F7 y tecleamos el siguiente cdigo en la parte de arriba. Con esto estamos importando algunas clases y objetos del tipo ODBC.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

b. Ahora declaramos la variable donde almacenaremos la conexin dentro de la clase Public Class del Form. Esta variable ser el nombre al cual nos referiremos como una conexin. En este caso la he llamado MiConexion.

c. El siguiente paso es inicializar la variable conexin con los datos del ODBC que definimos anteriormente. Esta parte la podemos poner en el evento Click de un botn para que se conecte cuando lo pulsemos o tambin lo podemos poner en el evento Shown del Formulario para que se conecte cuando se ejecute el programa y se muestre ese formulario. En este caso lo pondr en un botn.

Si puede notar, BDHR es el nombre que le puse al ODBC cuando lo configur. d. Finalmente debemos intentar abrir la conexin mediante el evento Open de la variable MyConexin. Esta lnea de cdigo la pondr en el mismo evento Click del botn.

Hasta el momento, tenemos el siguiente cdigo en el formulario:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Y el formulario en diseo lucira as:

Si ejecutamos el programa y pulsamos el botn Conectar, no debera marcar ningn mensaje de error, a menos que no hayamos escrito correctamente el cdigo descrito arriba o que hayamos escrito mal el nombre del dsn. Por el momento, ya tenemos lista una conexin en nuestro programa que apunta a la base de datos hr en el servidor de MySQL. Con la variable MyConexion podemos trabajar en una o varias consultas y no necesitamos crear otra conexin aparte. 2. Realizando una consulta SQL. Para realizar una consulta sobre la base de datos, debemos crear variables de tipo string que contendrn la cadena con la consulta SQL deseada, para posteriormente ser ejecutada y visualizada en algn componente de VB. a. Inicializando Cadenas. La sentencia SQL que comnmente tecleamos en el editor Workbench de MySQL la colocaremos dentro de una variable tipo cadena de la siguiente manera.

b. Creando un Objeto OdbcCommand. El siguiente paso es crear un objeto del tipo OdbcCommand, el cual debemos inicializar con las Cadena de consulta que hemos creado y con el nombre de la conexin.

c. Creando la fuente de datos y el adaptador. Dos variables son necesarias para que tenga efecto la consulta a realizar: La fuente de datos (DataSet) que ser donde se almacenarn los registros regresados por la consulta y la otra variable es el adaptador (OdbcAdapter) el cual sirve como conexin entre la fuente y el componente donde visualizaremos los datos. Las variables se definen como:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

d. Inicializando la fuente y el adaptador. Ahora inicializamos las variables creadas en el punto c.

El adaptador es direccionado al comando de la consulta y la fuente es llenada con los datos de la consulta mediante la propiedad Fill del adaptador. En esa ltima operacin se le da un nombre a manera de tabla temporal. e. Visualizando datos. Para mostrar los datos elegiremos un componente llamado DataWridView de las herramientas de Datos. Y le establecemos las propiedades DataSourse con el nombre de la Fuente de datos que en el punto anterior llenamos y la propiedad de DataMember con el nombre de la tabla que le dimos tambin en el paso anterior y listo.

Con los incisos del punto 2 tenemos el siguiente cdigo, todo dentro de un segundo botn en su evento click:

Y el formulario lucira de la siguiente manera:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

3. Modificar Datos mediante consulta SQL. La modificacin de datos tambin se realizar sobre la misma conexin creada desde el inicio, y tambin tendr una cadena de tipo String que contendr la consulta SQL deseada, pero no necesitar de una fuente de datos ni ser visualizada en un componente como el Datagridview, sino simplemente ser ejecutada. a. Inicializando Cadenas. La sentencia SQL que comnmente tecleamos en el editor Workbench de MySQL la colocaremos dentro de una variable tipo cadena de la siguiente manera.

b. Creando un Objeto OdbcCommand. El siguiente paso es crear un objeto del tipo OdbcCommand, el cual debemos inicializar con las Cadena de consulta que hemos creado y con el nombre de la conexin.

c. Ejecutando el comando. Ahora simplemente ejecutamos el comando sql de la siguiente manera:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Si todo sali bien, no obtendremos mensaje de error. Los incisos del punto 3, generaron el siguiente cdigo el cual fue colocado dentro del evento click de otro botn.

Y el formulario ahora luce de la siguiente manera:

Ahora cada vez que se pulsa el botn de Editar, se incrementa el salario de los empleados en 1000. Y puede ser comprobado pulsando el botn de Consultar que nos mostrar los nuevos datos ya modificados.

4. Insertar Nuevos Registros en la Tabla. La insercin de nuevos datos en la tabla, se har de la misma manera en que se hizo la actualizacin de datos. La diferencia ser la consulta SQL. Que puede ser realizada de la siguiente manera:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

El signo + es empleado para concatenar dos cadenas. Ntese que los datos numricos no llevan comillas simples, a diferencia de las cadenas y las fechas que s los llevan.

El cdigo completo fue colocado en el evento click de un botn y es el siguiente:

Y el formulario ahora luce de la siguiente manera:

Cada vez que se presione el botn de Insertar sern introducidos los datos que contenga la consulta. En este caso siempre son los mismos, as que debemos hacer algo para que los datos sean introducidos por el usuario. Lo mismo para un update.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

CAPTURA DE DATOS DEL USUARIO Hasta el momento logramos la conexin, consulta, edicin y actualizacin de una base de datos. Ese es el objetivo principal, pero necesitamos que los datos introducidos como modificacin, insercin o eliminacin sean los deseados por el usuario, no como programador. Para ello vamos a hacer uso de un componente de VB muy comnmente visto en los formularios de cualquier lenguaje de programacin. Dicho componente es llamado TextBox, y es usado tanto para ingresar datos como para mostrarlos. Tambin realizaremos la llamada a una ventana o formulario nuevo, desde la primera ventana a manera de ventana hija, y es ah en la ventana hija donde realizaremos una nueva conexin para trabajar sobre la tabla REGIONS de la tabla hr.

1. Llamar una ventana hija. Primero que nada debemos crear o agregar un nuevo formulario a nuestro proyecto. Para ello seleccionamos Agregar Windows Forms en el men Proyecto.

Y seleccionamos Windows forms de la siguiente ventana.

Con ellos tendremos un nuevo formulario en blanco cuyo nombre por defecto es form2, listo para recibir los componentes necesarios. Si en este momento ejecutamos nuestro proyecto no veremos el efecto de haber agregado una nueva forma, simplemente seguimos viendo la misma ventana ya conocida. Para darle accin a la nueva ventana, colocaremos sobre la ventana principal (form1) un nuevo botn y le ponemos el siguiente cdigo en su evento click.

Con lo cual estamos creando una nueva variable del tipo form2 y posteriormente la estamos mostrando como ventana hija con su propiedad ShowDialog(). Finalmente liberamos la memoria cuando se cierre la ventana.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

El programa en ejecucin tendr el siguiente aspecto luego de haber pulsado el botn para abrir la nueva forma:

Si intentamos acceder a los botones de la primera forma notamos que no podemos ya que la forma 2 esta encima de la primera. Para regresar al men o pantalla anterior, debemos cerrar la ventana hija pulsando sobre la x o colocando un botn de cerrar en cuyo evento click colocamos la instruccin Close();
Ahora ya teniendo acceso a la nueva ventana, trabajaremos sobre ella a manera de catlogo de Regiones.

2. Colocando componentes necesarios. El catlogo de Regiones vamos a agregar los elementos siguientes, de tal modo que luzca como la figura de abajo. Componente Boton Boton Boton Boton Label Label TextBox TextBox DataGridView Propiedades Modificadas Name = btnEditar, Text = Editar Name = btnInsertar, Text = Insertar Name = btnEliminar, Text = Eliminar Name = btnSalir, Text = Salir Text = ID_REGION Text = NOMBRE Name = tbID_REGION Name = tbNOMBRE Name = dgvRegion

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

3. Agregando cdigo a los componentes. Ahora vamos a agregar el cdigo necesario para que nuestro formulario funcione como un catlogo de Regiones. Para ellos vamos a seguir los siguientes pasos: a. Conexin con la base de datos. La conexin ser realizada como en la primera parte del manual, importando las clases odbc y declarando la variable global en la parte pblica de la clase form2.

En este caso mi variable de conexin ser llamada RegConexion. b. Inicializando conexin y consulta. Ahora colocaremos las instrucciones para conectarnos a la base de datos y al mismo tiempo desplegar los datos de la tabla regions en el data grid view al momento que se muestra la forma 2. Es decir colocaremos el cdigo en el evento shown de la forma2. El cdigo es el siguiente:

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Con lo anterior, al mostrar la forma2, los datos son inicializados automticamente:

c. Cargando datos en los campos tbID_REGION y tbNOMBRE. Lo ms comn que nos encontraos en el mundo real es que al presionar sobre un registro del grid view, nos desplege en los text box la informacin del registro seleccionado. Para ello, en el evento CellClick del componente dgvRegion vamos a agregar el siguiente cdigo.
Private Sub dgvRegion_CellClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvRegion.CellClick tbID_REGION.Text = dgvRegion.Item(0, dgvRegion.CurrentRow.Index).Value tbNOMBRE.Text = dgvRegion.Item(1, dgvRegion.CurrentRow.Index).Value End Sub

Se puede observar que los campos se asignan al valor que tenga el grid view en su CurrentRow. Los nmeros 0 y 1 son los ndices de cada columna.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

d. Editando registros. Para lograr que solo editemos el registro seleccionado, agregamos el siguiente cdigo al evento clik del botn btnEditar:

Con lo cual logramos que se edite el registro con el dato que contenga el campo tbNOMBRE en su propiedad text. Y la condicin es que solamente se edite el campo seleccionado mediante el campo tbID_REGION en su propiedad text. Note que para actualizar o insertar un dato de tipo cadena debemos colocar unas comillas simples al inicio y al final del capo a modificar. En este caso lo hice mediante la concatenacin de un carcter comilla simple encerrado entre dos comillas dobles.

e. Insertando nuevo registro. Para insertar un nuevo registro, debemos llenar los campos tbID_REGION y tbNOMBRE y posteriormente insertarlos en la tabla. Esto lo hacemos agregando el siguiente cdigo al botn btnInsertar:

Lo que hicimos con el cdigo anterior es que insertamos un nuevo registro con los datos que tecle el usuario. Vuelva a notar que el id_region como en la tabla es del tipo entero, no necesitamos colocarle comillas como al nombre. Las fechas tambin irn entre comillas simples y en el formato de ao, mes, da.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Aqu una pantalla con un nuevo dato insertado:

f.

Eliminando un registro. Para eliminar un registro seleccionado en el grid view, debemos colocar el siguiente cdigo en el botn btnEliminar en su evento click:

Con lo que conseguimos eliminar nicamente el registro activo en el grid view.

Con todo lo anterior, ya tenemos lo necesario para realizar varios catlogos y modificar los registros de las tablas de una base de datos de manera separada y como administrador de los diferentes catlogos. Esto es lo que tenemos comnmente en la vida real.

COMENTARIOS FINALES a. Actualizar los datos cada vez que re realiza una operacin. Para ello se sugiere el uso de funciones definidas por el usuario para que sean mandadas llamar cada vez

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

que se realice una operacin y se visualice el resultado de forma inmediata. Se aconseja hacer un nuevo select a la tabla. La funcin puede ser declarada en la parte pblica de la forma y contener la operacin que hicimos para consultar la tabla regions y mandar llamar la funcin cuando lo deseemos.

De tal manera que en el evento shown de la forma2, nicamente necesitaramos colocar el siguiente cdigo para que siga funcionando como al principio del ejercicio.

RegConexion = New OdbcConnection("dsn=BDHR") RegConexion.Open() ConsultaDatos()

Lo mismo podemos hacer luego de insertar un nuevo registro, simplemente agregamos el cdigo al final de las instrucciones ya conocidas.
ConsultaDatos()

b. Cerrar la conexin al cerrar la forma. Para cerrar una conexin, colocamos la instruccin en el botn btnSalir.
Close() RegConexion.Close()

Con lo cual logramos cerrar la forma y cerrar la conexin antes creada.

M. en I. Margarito Navarrete-Mendoza

CONEXIN A VISUAL BASIC 2010-MYSQL MEDIANTE ODBC

Espero que les sirva de ayuda para su proyecto Les paso tambin el archivo comprimido con el proyecto completo que expliqu arriba, lo nico que tienen que hacer es abrir el proyecto y tendrn acceso a las formas y a su cdigo. El ejecutable de cada proyecto que se crea en VB, lo encontramos en la carpeta donde guardamos el proyecto y dentro buscamos la carpeta con el mismo nombre del proyecto, y dentro buscamos otra llamada bin y ms a dentro tendremos otra llamada debug y es ah donde se encuentra un .exe con el nombre del proyecto, que es el ejecutable de nuestro programa. En este caso la ruta es: Principal\Principal\bin\Debug\Principal.exe Si encuentran algn error en la escritura o alguna sugerencia, favor de hacer sus comentarios para mejorarlo.

M. en I. Margarito Navarrete-Mendoza

Вам также может понравиться