Você está na página 1de 25

Instituto Tecnologico De Tapachula

Nombre de la materia: Desarrollo de Aplicaciones en Ambiente Distribuido.

Tema: Conexin y Operaciones Basicas de una Aplicacion desarrollada en Gambas con un Gestor de Base de Datos MySQL.

Tuto hecho por: Rodolfo (+...SAT...+)

Saludos a todos, en esta ocasin este Tutorial tratar de un tema que tiene que ver con Base de Datos (B.D.). Se demostrar la conexin de Gambas (tambin conocido como el Visual Basic de UBUNTU), con MySQL as mismo se realizaran algunas operaciones bsicas (Insertar, Buscar, Modificar y Eliminar) sobre los registros contenidos en la B.D. Cabe mencionar que esta pequea aplicacin es un ejemplo sencillo, para desarrollarla ms eficientemente, es necesario establecer controles de errores y otros detalles que se profundizan en el mbito de la programacin, esto para desarrollar una aplicacin ms robusta, pero este post fue desarrollado con la finalidad de servir como una pequea introduccin en este mbito. Esperando sea de su agrado se da comienzo a lo que de verdad importa. Para comenzar, se realizar la B.D. la cual ser manipulada con el formulario que se crear en Gambas.

Creacin de la base de datos en MySQL


1.- Se pasa a abrir un Terminal y se pasa a acceder a MySQL con la siguiente instruccin: mysql u root p (sin comillas) NOTA: despus de teclear un Enter, se pasa a escribir la contrasea correspondiente a MySQL.

2.- Se pasa a crear la B.D. la cual llevar el nombre de registros, para ello se escribe: create database registros;

3.- Una vez creada la B.D. se accede a la misma, por lo cual se escribe: use registros;

4.- Se pasa a crear una tabla en la que se almacenarn los datos, la tabla se llamar alumno, por lo que se escribe: create table alumno (num_control varchar (15) not null primary key, nombre varchar (20), apellido_p varchar (20), apellido_m varchar (20), carrera varchar (50), semester varchar (20))engine=innodb;

5.- Una vez creada la tabla, se insertar un registro, por lo cual se pasa a escribir lo siguiente: insert into alumno values (07510423, Jose, Lopez, Cruz, Licenciatura en informatica, Noveno Semestre);

6.- Se realiza una visualizacin de los registros de la tabla alumno, por lo que se escribe: select * from alumno;

Creacin de la aplicacin en gambas


1.- Se pasa a abrir gambas, y se muestra la siguiente ventana en la que se selecciona la opcin de Nuevo proyecto.

2.- En la siguiente ventana se muestran los tipos de aplicaciones que se pueden crear, as mismo las opciones o por decirlo as, ciertas libreras o componentes que se pueden seleccionar, dependiendo el tipo de aplicacin que se desee crear. En este ejemplo, se seleccionar: Seccin de Tipo: Aplicacin Grfica. Seccin de Opciones: Acceso a bases de datos. Se pasa a dar clic en la opcin de Siguiente.

3.- Despus aparecer una nueva ventana en la que se selecciona la ruta donde se desea guardar el proyecto, en este ejemplo, se guardar en el Escritorio. Despus se pasa a dar clic en Siguiente.

4.- Ahora se procede a escribir el nombre del proyecto, as mismo el ttulo que se le desee asignar, en este caso se le asigna el nombre de prueba. Y para terminar se da clic en el botn OK.

5.- Al dar clic en OK debe de aparecer un cuadro como el siguiente:

6.- Despus de haber dado clic en OK, deber aparecer la ventana del proyecto a desarrollar, tal y como en Visual Basic.

NOTA: En caso de marcar un fallo, que indique que hace falta algn complemento como gb.db.form como se muestra en la siguiente captura.

Lo que se tiene que hacer es agregar esos componentes, por lo cual basta con dirigirse al Centro de Software de Ubuntu y escribir gb.db para que se muestren todos los complementos con dicho nombre.

Para instalar el complemento faltante, se selecciona y automticamente aparece la opcin de instalar, se da clic y se espera hasta que termine el proceso. Tambin hay que mencionar que debe de estar instalado el gambas2gb-db-mysq, en caso contrario no se podr efectuar la conexin del formulario con MySQL.

Despus de haber instalado los complementos faltantes es recomendable que reinicien su PC, para que funcione todo a la perfeccin.

7.- Retomando la creacin de la aplicacin, en la ventana del proyecto del lado izquierdo, aparecen unas carpetas de las cuales se seleccionar la carpeta con el nombre de modulo, se da clic derecho y se selecciona la opcin de Nuevo y luego clic en Mdulo.

NOTA: El modulo se realiza para tener un mejor manejo en cuestin a la conexin en los formularios, ya que si se cuentan con muchos formularios, escribir en cada uno toda la sintaxis de la conexin puede ser muy tedioso, por lo cual con el mdulo se reduce un poco. A pesar de que solo se realizar un formulario en este ejemplo, nunca est dems que se explique por futuras cuestiones.

8.- Despus de haber seleccionado un nuevo mdulo, aparece una ventana en la que se escribe el nombre del mdulo, puede ser el que uno desee, en este caso se llamar moduloconexion. Como consiguiente se pasa a dar clic en el botn de OK.

9.- Despus aparece una ventana en blanco, en la cual se proceder a realizar la codificacin de dicho mdulo. El cdigo a escribir es el siguiente: 'Declaramos una variable en donde se guardara la conexion. PUBLIC $conexion AS NEW Connection 'se declara el inicio del procedimiento en el modulo creado. PUBLIC PROCEDURE moduloconexion() 'Se cierra la conexion. $conexion.Close 'Se pasa a establecer una estructura para la conexion con mysql. $conexion.Type = "mysql" 'Se indica hasia donde se realizar la conexion. $conexion.Host = "localhost" 'se indica el nombre con el que se accede a la base de datos. 'En caso de tener algun otro usuario, basta con colocar ese usuario en lugar de root. $conexion.Login = "root"

'Se establece el puerto en el que se conecta MySQL, que por default es 3306. $conexion.Port = "3306" 'Se indica el nombre de la base de datos a la cual se desea acceder. $conexion.Name = "registros" 'Se indica la contrasea establecida en MySQL para poder accesar a la Base de Datos. $conexion.Password = "university" 'Se abre la conexion. $conexion.Open() END

10.- Una vez terminado el mdulo, se pasa a crear el formulario, por lo que pasa a dar doble clic en donde dice FMain (ubicado del lado izquierdo, justo donde se encuentra la carpeta de Mdulos.

11.- Al dar doble clic, aparecer el formulario como en Visual Basic. Antes de empezar, comentar las herramientas necesarias para el formulario, para visualizar la barra de herramientas, para dibujar los botones, etiquetas y cuadros de texto. Basta con dirigirse al men de vista y seleccionar Caja de Herramientas.

Esto es para visualizar la siguiente cuadricula.

Donde la es un Label, el botn de comando.

es un cuadro de texto y el

es un

12.- Explicado lo anterior, se pasa a dibujar 6 labels, 6 cajas de texto y 6 botones dando como resultado algo como esto.

Label 1 y Texbox1 = nmero de control Label 2 y Texbox2 = nombre Label 3 y Texbox3 = apellido paterno Label 4 y Texbox4 = apellido materno Label 5 y Texbox5 = carrera Label 6 y Texbox6 = semestre

Boton1 = Nuevo Boton2 = Guardar Boton3 = Buscar Boton4 = Modificar Boton5 = Eliminar Boton6 = Salir

NOTA: Las propiedades son idnticas a las de visual Basic, para cambiar los nombres Basta con buscar en sus propiedades donde diga Text.

Codificacin
1.- Para empezar con los cdigos, se empezar en el mismo orden en el que se encuentran los botones en el formulario, por lo que se comenzar con el botn de Nuevo hasta llegar al de Salir. Empezando con esto, el Boton de Nuevo solo limpiar las cajas de texto para despus proceder a guardar lo que se introduzca en las cajas de texto. El cdigo es el siguiente: 'Se realizar una limpieza de las cajas de texto. TextBox1.Clear TextBox2.Clear TextBox3.Clear TextBox4.Clear TextBox5.Clear TextBox6.Clear

2.- Cdigo del botn Guardar. 'Codigo del boton Guardar 'Se declara una variable donde se almacena y devuelve el proceso de insercion y de conexion DIM agregar AS Result 'Se abre la conexion moduloconexion.moduloconexion 'se pasa a realizar la instruccion para insertar un registro agregar = moduloconexion.$conexion.Exec("insert into alumno values ('" & TextBox1.Text & "' , '" & TextBox2.text & "' , '" & TextBox3.text & "' , '" & TextBox4.text & "' , '" & TextBox5.Text & "' , '" & TextBox6.text & "')") 'Se establece un mensage que indique que se guardo el registro. Message("Registro Guardado")

'Se cierra la conexion


moduloconexion.$conexion.Close

3.- Cdigo del botn Buscar. 'Codigo del boton Buscar 'Se declara una variable de tipo string para guardar el valor de un InputBox para realizar la busqueda. DIM respuesta AS String 'Se declara otra variable que almacena y devuelve el proceso de busqueda y de conexion. DIM buscar AS Result 'se abre la conexion.

moduloconexion.moduloconexion
'Se declara que la bariable respuesta tomara el valor que se introduzca en el InputBox. respuesta = InputBox("Introduzca el numero de control del alumno") 'se pasa a realizar la consulta. Cabe mencionar que el valor de alumno es el nombre de la tabla de la base de datos y num_control el campo declarado en mysql buscar = moduloconexion.$conexion.Exec("select * from alumno where num_control= '" & respuesta & "' ") 'Se pasa a visualizar el registro en las respectivas cajas de texto. TextBox1.Text = buscar["num_control"] TextBox2.Text = buscar["nombre"] TextBox3.Text = buscar["apellido_p"] TextBox4.Text = buscar["apellido_m"] TextBox5.Text = buscar["carrera"] TextBox6.Text = buscar["semestre"] 'Se cierra la conexion. moduloconexion.$conexion.Close

4.-Cdigo del botn Modificar.

'Codigo del boton Modificar 'Se declara una variable de tipo string para guardar el valor de un InputBox para guardar o no, los cambios. DIM respuesta AS String 'Se declara otra variable que almacena y devuelve el proceso de busqueda y de conexion.

DIM modificar AS Result


'Se declara que la variable respuesta tomara el valor del menssage. respuesta = Message.Question("Desea Guardar los cambios realizados?", "&Aceptar", "&Cancelar") 'Se establece un if para comparar el valor de la respuesta. 'En el Message, el boton de Aceptar toma el valor de 1, por lo cual la condicion quedara de la siguiente forma. IF respuesta = 1 THEN 'se abre la conexion. moduloconexion.moduloconexion se pasa a realizar un Update para actualizar los registros. modificar = moduloconexion.$conexion.Exec("update alumno set nombre= '" & TextBox2.Text & "' , apellido_p= '" & TextBox3.Text & "' , apellido_m= '" & TextBox4.Text & "' , carrera= '" & textbox5.text & "' , semestre= '" & textbox6.text & "' where num_control = '" & TextBox1.Text & "' ") 'Se establece un mensage que indique que se guardaron los cambios. Message("Registro Modificado!") 'Se Cierra la conexion moduloconexion.$conexion.Close

'Se cierra el if
ENDIF

5.- Cdigo del botn Eliminar. 'Codigo del boton Eliminar 'Se declara una variable de tipo string para guardar el valor de un InputBox para Eliminar o no, el registro. DIM respuesta AS String

'Se declara otra variable que almacena y devuelve el proceso de Eliminacion y de


conexion. DIM eliminar AS Result 'Se declara que la variable respuesta tomara el valor del menssage. respuesta = Message.Question("Esta seguro que desea Eliminar el registro?", "&Aceptar", "&Cancelar") 'Se establece un if para comparar el valor de la respuesta.

'En el Message, el boton de Aceptar toma el valor de 1, por lo cual la condicion


quedara de la siguiente forma. IF respuesta = 1 THEN 'se abre la conexion. moduloconexion.moduloconexion 'se pasa a realizar la sentencia de eliminacion del registro, haciendo una comparacion unicamente con la clave primaria que es Num_control. eliminar = moduloconexion.$conexion.Exec("delete from alumno where num_control= '" & TextBox1.Text & "' ") 'Se establece un mensage que indique que se Elimin el registro. Message("Registro Eliminado!") 'Se Cierra la conexion moduloconexion.$conexion.Close 'Se realizara una limpieza de las cajas de texto. TextBox1.Clear TextBox2.Clear TextBox3.Clear TextBox4.Clear TextBox5.Clear

TextBox6.Clear
'Se cierra el if ENDIF

6.- Y el cdigo ms largo, el del botn Salir. 'Codigo del boton Salir FMain.Close

Comprobacin
1.- Para ejecutar el proyecto, basta con teclear F5 o en el men Depuracin. Al ejecutar el proyecto, la aplicacin se visualiza de la siguiente forma:

2.-Lo primero a realizar es un alta de un registro, por lo que se llenarn los campos con los siguientes datos: Numero de control: 123 Nombre (s): Gabriel Apellido Paterno: Perez Apellido Materno: Ortiz Carrera: Ingenieria Electromecanica Semestre: 6to. Semestre

3.- Ahora se pasa a dar clic en el Botn de Guardar, y deber visualizarse el siguiente mensaje:

4.- Nos dirigimos a la base de datos en MySQL, y se realiza una visualizacin de los registros de la tabla alumno, para verificar que si se agreg el registro, para ello se escribe: select * from alumno;

5.- Procederemos ahora a realizar una modificacin, al registro con el nmero de control 07510423. Por lo que primero se da clic en el botn de buscar, y en el recuadro que aparece, escribir el nmero de control a buscar.

6.- Al dar clic en OK, aparecern los datos del registro en cada cuadro de texto respectivamente.

7.- Se cambiar el nombre de Jose por Jose Armando. Ahora, se pasa a dar clic en el botn de Modificar, y se nos preguntar si se desea guardar los cambios, se da clic en Aceptar.

8.- Ahora se pasa a la B.D. en MySQL y se realiza una visualizacin nuevamente. select * from alumno;

9.- Para terminar se verificar que el botn de Eliminar funcione correctamente. Por lo que se eliminar el dato que se acaba de modificar. Por lo que se da clic en el botn de eliminar, y se nos pregunta si se desea eliminar, se da clic en Aceptar para proseguir.

Se muestra un mensaje en el que se nos indica que fue eliminado.

10.- Se procede a realizar una nueva visualizacin de los registros para corroborar que el registro fue eliminado: select * from alumno;

Con esto queda terminado este pequeo manual. Espero que esto les sea de ayuda y que les sirva de gua para desarrollar una aplicacin en Gambas.

Você também pode gostar