Altas, Bajas, Consultas y Modificaciones Con Gambas (Ubuntu)
Altas Bajas Consultas y Modificaciones Con Gambas Ubuntu
-
Upload
alfonso-aguilar -
Category
Documents
-
view
28 -
download
4
Transcript of Altas Bajas Consultas y Modificaciones Con Gambas Ubuntu
Instituto Tecnologico De Tapachula
Nombre de la materia:
Desarrollo de Aplicaciones en Ambiente Distribuido.
Tema:
Conexión 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 ocasión este Tutorial tratará de un tema que tiene que
ver con Base de Datos (B.D.). Se demostrará la conexión de Gambas (también
conocido como el Visual Basic de UBUNTU), con MySQL así mismo se
realizaran algunas operaciones básicas (Insertar, Buscar, Modificar y Eliminar)
sobre los registros contenidos en la B.D.
Cabe mencionar que esta pequeña aplicación es un ejemplo sencillo, para
desarrollarla más eficientemente, es necesario establecer controles de errores
y otros detalles que se profundizan en el ámbito de la programación, esto para
desarrollar una aplicación más robusta, pero este post fue desarrollado con la
finalidad de servir como una pequeña introducción 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.
Creación de la base de datos en MySQL
1.- Se pasa a abrir un Terminal y se pasa a acceder a MySQL con la siguiente
instrucción:
“ mysql –u root –p ” (sin comillas)
NOTA: después de teclear un Enter, se pasa a escribir la contraseña
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 almacenarán 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 visualización de los registros de la tabla alumno, por lo que
se escribe:
“ select * from alumno; “
Creación de la aplicación en gambas
1.- Se pasa a abrir gambas, y se muestra la siguiente ventana en la que se
selecciona la opción 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 librerías o
componentes que se pueden seleccionar, dependiendo el tipo de aplicación
que se desee crear. En este ejemplo, se seleccionará:
Sección de Tipo: Aplicación Gráfica.
Sección de Opciones: Acceso a bases de datos.
Se pasa a dar clic en la opción de Siguiente.
3.- Después 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. Después se pasa a dar clic en Siguiente.
4.- Ahora se procede a escribir el nombre del proyecto, así mismo el título que
se le desee asignar, en este caso se le asigna el nombre de prueba. Y para
terminar se da clic en el botón OK.
5.- Al dar clic en OK debe de aparecer un cuadro como el siguiente:
6.- Después 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 algún
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 automáticamente
aparece la opción de instalar, se da clic y se espera hasta que termine el
proceso. También hay que mencionar que debe de estar instalado el gambas2-
gb-db-mysq, en caso contrario no se podrá efectuar la conexión del formulario
con MySQL.
Después de haber instalado los complementos faltantes es recomendable que
reinicien su PC, para que funcione todo a la perfección.
7.- Retomando la creación de la aplicación, 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 opción de Nuevo y
luego clic en Módulo.
NOTA: El modulo se realiza para tener un mejor manejo en cuestión a la
conexión en los formularios, ya que si se cuentan con muchos formularios,
escribir en cada uno toda la sintaxis de la conexión puede ser muy tedioso, por
lo cual con el módulo se reduce un poco. A pesar de que solo se realizará un
formulario en este ejemplo, nunca está demás que se explique por futuras
cuestiones.
8.- Después de haber seleccionado un nuevo módulo, aparece una ventana en
la que se escribe el nombre del módulo, puede ser el que uno desee, en este
caso se llamará “moduloconexion”. Como consiguiente se pasa a dar clic en el
botón de OK.
9.- Después aparece una ventana en blanco, en la cual se procederá a realizar
la codificación de dicho módulo. El código 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 contraseña 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 módulo, 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 Módulos.
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 es un cuadro de texto y el es un
botón de comando.
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 = número de control Boton1 = Nuevo
Label 2 y Texbox2 = nombre Boton2 = Guardar
Label 3 y Texbox3 = apellido paterno Boton3 = Buscar
Label 4 y Texbox4 = apellido materno Boton4 = Modificar
Label 5 y Texbox5 = carrera Boton5 = Eliminar
Label 6 y Texbox6 = semestre Boton6 = Salir
NOTA: Las propiedades son idénticas a las de visual Basic, para cambiar los
nombres Basta con buscar en sus propiedades donde diga Text.
Codificación
1.- Para empezar con los códigos, se empezará en el mismo orden en el que
se encuentran los botones en el formulario, por lo que se comenzará con el
botón de Nuevo hasta llegar al de Salir. Empezando con esto, el Boton de
Nuevo solo limpiará las cajas de texto para después proceder a guardar lo que
se introduzca en las cajas de texto. El código 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.- Código del botón 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.- Código del botón 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.-Código del botón 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
quedaría 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.- Código del botón 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
quedaría 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 código más largo, el del botón Salir.
'Codigo del boton Salir
FMain.Close
Comprobación
1.- Para ejecutar el proyecto, basta con teclear F5 o en el menú Depuración. Al
ejecutar el proyecto, la aplicación se visualiza de la siguiente forma:
2.-Lo primero a realizar es un alta de un registro, por lo que se llenarán 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 Botón de Guardar, y deberá visualizarse el
siguiente mensaje:
4.- Nos dirigimos a la base de datos en MySQL, y se realiza una visualización
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 modificación, al registro con el número
de control “07510423”. Por lo que primero se da clic en el botón de buscar, y
en el recuadro que aparece, escribir el número de control a buscar.
6.- Al dar clic en OK, aparecerán 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 botón 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 visualización
nuevamente.
“ select * from alumno; “
9.- Para terminar se verificará que el botón de Eliminar funcione correctamente.
Por lo que se eliminará el dato que se acaba de modificar. Por lo que se da clic
en el botón 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 visualización de los registros para
corroborar que el registro fue eliminado:
“ select * from alumno; “
Con esto queda terminado este pequeño manual.
Espero que esto les sea de ayuda y que les sirva de guía para desarrollar una
aplicación en Gambas.