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:
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 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.
PRIVATE FUNCTION ConectarBase() AS Boolean
DIM nameDB AS String
nameDB = “Prueba”
IF miConex <> NULL THEN RETURN FALSE ‘ Se retorna false si la conexion esta hecha
miConex = NEW Connection
miConex.Type = “mysql” ‘Tipo de la base de datos
miConex.Host = “localhost”
miConex.Login = “root”
miConex.Password = “contraseña”
miConex.Name = “”
IF NOT miConex.Databases.Exist(nameDB) THEN
miConex.Databases.Add(nameDB)
miConex.Close()
miConex.Name = nameDB
miConex.Open()
MDatabase.CreateDatabase(miConex, nameDB)
ENDIF
miConex.Close()
miConex.Name = nameDB
TRY miConex.Open()
IF ERROR THEN
Message.Error(“Error al conectar con la base de datos”)
RETURN TRUE
END IF
RETURN FALSE
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.

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.