Gestion de Bases de Datos en Gambas

Bueno voy a tratar de explicar un poco como se tratan las bases de datos en Gambas.
Primeramente tenemos un Gestor de Base de Datos en modo grafico que facilita mucho el trabajo de establecer la conexion, crear bases de datos y tablas, entre otras cosa que iré detallando.

Para lanzar esta herramienta vamos al menu Herramientas-> Gestor de Base de Datos
Nos aparecera un pequeño cuadro de dialogo como este:

Introducimos la contraseña o la establecemos si recien estamos iniciando por primera vez:
Luego establecemos la conexion al servidor de BD, en esta pantalla:

Finalmente nos aparecera la ventana de trabajo de diseño y creacion de BD en este caso en mysql, la interaccion con esta herramienta es bastante intuitiva si ya se ha trabajado con Gestores Graficos de Base de Datos.

Creamos nuestra base de datos y usamos la herramienta para generar codigo de Gambas desde el gestor.

En este caso se generara un codigo como este en Modulo:

 

Con esto ya tenemos codigo autogenerado a partir de una base de datos en gambas, podemos usarlo para llamar a este procedimiento cuando necesitemos instalar el sistema en alguna otra maquina.
Yo he cambiado la definicion de PROCEDURE a PUBLIC SUB para trabajar con mayor comodidad.
Ahora vamos a utilizar esto para establecer la conexion a la base de datos desde nuestro programa en Gambas.

PROCEDURE CreateDatabase(hConn AS Connection, sDatabase AS String)
	'Generated by the Gambas database manager - 13/11/2008 23:07:14

	DIM hTable AS Table

	hTable = hConn.Tables.Add("Clientes", "InnoDB")

	WITH hTable
		.Fields.Add("ruc", db.String, 11)
		.Fields.Add("direccion", db.String, 80)
		.Fields.Add("nombre", db.String, 50)
		.PrimaryKey = ["ruc"]
		.Update
	END WITH

	hTable = hConn.Tables.Add("GuiaRemision", "InnoDB")

	WITH hTable
	.Fields.Add("numGuia", db.Integer)
	.Fields.Add("rucDestinatario", db.String, 11)
	.Fields.Add("fechaTraslado", db.Date)
	.Fields.Add("motivoTraslado", db.String, 20)
	.Fields.Add("ptoPartida", db.String, 50)
	.Fields.Add("ptoLlegada", db.String, 50)
	.PrimaryKey = ["numGuia"]
	.Update
	END WITH

	hTable = hConn.Tables.Add("Guia_Producto", "InnoDB")

	WITH hTable
	.Fields.Add("numGuia", db.Integer)
	.Fields.Add("numProduct", db.Integer)
	.Fields.Add("cantidad", db.Integer)
	.PrimaryKey = ["numGuia", "numProduct"]
	.Update

	END WITH

	hTable = hConn.Tables.Add("Productos", "InnoDB")

	WITH hTable
	.Fields.Add("idProductos", db.Integer)
	.Fields.Add("descripcion", db.String, 40)
	.Fields.Add("precio", db.Float)
	.PrimaryKey = ["idProductos"]
	.Update
	END WITH

END

Con esto ya tenemos un procedimiento para no estar ejecutando algun script de sql o volviendo a crear la base de datos a la hora de hacer la instalacion del programa.
Es todo por este post.

Anuncios

13 respuestas a “Gestion de Bases de Datos en Gambas

  1. Saludos:

    Me descargue Gambas2, lo compile e instale en OpenSuse 11.0, quise realizar una conexion mediante el Administrador de Base de Datos pero no lo muestra.

    Tengo levantado el servidor MySql.

    Que hice mal? Por favor necesito de su ayuda urgente, es para un proyecto.

    Me estoy iniciando en Gambas.

    Tengo buena base de conocimiento en VBA, VB6, VB.Net.

    Muchas gracias de antemano.

    • Hola mi estimado Christian como estas bueno para serte sincero yo solamente he probado Gambas bajo Ubuntu nada mas, no lo he compilado en otras distribuciones pero si deseas un poco de ayuda mas especializada, te sugiero la pagina de la comunidad gambas en español.
      http://www.gambas-es.org/
      Saludos y disculpa que no pueda colaborarte mas.

  2. este programa es una porqueria, no hay documentacion clara en ningun lado. Mas encima me da errores de drivers y etc. 1000 veces mejor visual basic.

    • Hola mi estimado si dice que el programa es una porqueria, bueno le sugiero que descargue su frustracion personal en otra parte por favor. Cada quien es libre de programar en lo que mas le agrade. Si el problema es la documentacion buena, aqui hay bastante:
      http://www.gambas-es.org/
      Saludos.

  3. Tengo un problema con formularios en gambas.
    Con un boton abro un formulario…. pero me abre despues de 6 segundos. ¿cómo hago para abrirlo rápido? o ¿como hago para desarrollar una barra de carga mientras el formulario o ventana se carga completamente?.
    Gracias

  4. Hola mira no se que como funciona todo esto de Gambas estoy haciendo un desarrrollo pero la 3° imagen que mostras ami no me aparese asi sino que en blanco o sin contenido pero las dos primeras son iguales que debo hacer me falta instalar o configurar algo gracias

  5. Buenas. Tengo un problema con el gestor de base de datos. Incluyo la clave. Cuando creo el servidor MySQL y haglo clic en el boton “Ok”, simplemente no pasa nada. Continuan dos rectangulos vacios y cuando hago clic en el pequelo aparece un mensaje [21] out of bounds. FWorkspace.btnClose_Click.390. ¿que puedo hacer?¿que esta pasando?

  6. Hola!,estoy intentando conectarme con 2 db, por algun motivo que no conozco, no lo estoy logrando.
    genero 2 modulos uno por cada db. los llamo desde Fmain y hasta ahi todo ok, al disparar la 2da db aparece en error de id_conecxion no valido.
    si alguien lidio con esto y lo resolvio le estare agradecido por su ayuda

  7. espero y por favor lea mi comentario.
    Muy buen how-to de como acceder a BD en gambas. Pero mi pregunta es Gambas solo trabaja con MySql? o tambien se puede conectar con otros tipos de archivos por ejemplo BD de access, de open office o VFP?
    Gracias.

  8. Hola que tal como estás, bueno hasta el momento solo he hecho la conexion con Mysql, según tengo entendido es posible hacer conexiones con otras bases de datos. Voy a averiguar un poco mas sobre eso y tratar de postear algo mas de información.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s