Comenzemos a codificar

Vamos a comenzar a poner algo de código a nuestro programa, y lo iremos comentando. Lo primero en una base de datos es la conexión a la misma. Gambas nos provee para esto del objeto Connection.

Veamos el código.

PRIVATE hconn AS Connection
PRIVATE FUNCTION ConectarBase() AS Boolean

IF hconn <> NULL THEN RETURN FALSE

hconn = NEW Connection
hconn.Host = “/home/daniel/bases”
hconn.name = “mibase1”
hconn.type = “sqlite2”
TRY hconn.Open()
IF ERROR THEN
hconn = NULL
Message.Error(“error al conectar con la base”)
RETURN TRUE
ENDIF
RETURN FALSE

END

Como siempre, declaramos primero las variables hconn y conectarbase. Aquí vemos que la segunda es una variable de tipo boolean, cuyos únicos valores son true(verdadero) o false(Falso).
Primero vemos que la conexión no esté abierta, luego la inicializamos con el método new y ponemos los paramétros host, que nos indica la ruta a nuestra base de datos, el name(nombre) de la base, en este caso mibase1 y el type(tipo), sqlite2(o puede ser mysql, postgresql, etc).

Tratamos de abrir la conexión con hconn.open,si no lo conseguimos enviamos un mensaje de error y le damos el valor null a la conexión.

Uno de los errores más comunes se da al indicar el path o ruta a la base de datos, ya que a veces podemos moverla por error, es importante prestar atención a escribirla correctamente.

Veamos como cerrar la conexión.

PUBLIC SUB cerrarconexion()

IF hconn = NULL THEN RETURN
hconn.Close()
hconn = NULL

END

Primero vemos que ya no este cerrada, si no es así la cerramos con .close.
Y ahora vamos a visualizar los datos en el columview,en el evento open de fmain.

PUBLIC SUB Form_Open()
DIM hresul AS Result
DIM Clave AS String
DIM filtro AS String
tabla.Clear

IF ConectarBase() THEN RETURN

tabla.Columns.Count = 6
tabla.Columns[0].text = “id”
tabla.Columns[0].Width = 20
tabla.Columns[0].Alignment =Align.Center
tabla.Columns[1].text = “Nombre”
tabla.Columns[1].Alignment = Align.Center
tabla.Columns[1].Width = 120
tabla.Columns[2].text = “Apellido”
tabla.Columns[2].Alignment = Align.Center
tabla.Columns[2].Width = 120
tabla.Columns[3].text = “telefono”
tabla.Columns[3].Alignment = Align.Center
tabla.Columns[3].Width = 120
tabla.Columns[4].text = “movil”
tabla.Columns[4].Width = 120
tabla.Columns[4].Alignment = Align.Center
tabla.Columns[5].text = “cumple”
tabla.Columns[5].Width = 120
tabla.Columns[5].Alignment = Align.Center

hresul = hconn.Exec(“Select * from mitabla”)

DO WHILE hresul.Available

Clave = hresul[“id”]

tabla.Add(Clave, Clave)

tabla[Clave][1] = hresul[“nombre”]
tabla[Clave][2] = hresul[“apellido”]
tabla[Clave][3] = hresul[“telefono_fijo”]
tabla[Clave][4] = hresul[“telefono_movil”]
tabla[Clave][5] = hresul[“cumple”]

hresul.MoveNext()

LOOP

cerrarconexion()

END

Primero declaramos las variables y limpiamos el columview(tabla). Luego definimos las propiedades del mismo. El .count nos dice la cantidad de columnas,.text el título de la columna, .Width el ancho de la columna en píxeles, y .Alignment nos define como se alinearán los datos dentro de la columna.
hresul = hconn.Exec(“Select * from mitabla”)

Con esta sentencia elegimos los datos a mostrar mediante la instrucción sql select* from, como queremos mostrar todos los datos
no ponemos ninguna condición o filtro.Más adelante veremos como hacerlo.
El resto del código va colocando los datos en su lugar correspondiente del columview. En el próximo post lo explico con más detalle. Veamos nuestra tabla ahora.

Anuncios
Esta entrada fue publicada en programación y etiquetada . Guarda el enlace permanente.

4 respuestas a Comenzemos a codificar

  1. Ramón dijo:

    No doy visto el motivo, pero la expresión tabla.Clear me da un error, revise el código varias veces y no veo ningún fallo, como tengo el programa en ingles hice prueba con table pero sigue dando el error incluso cambiando la t a mayuscula.
    El error que me sale es: UNKNOW SYMBOL ‘CLEAR’ IN CLASS ‘TABLE’ IN INGRESOS, (INGRESOS) es el nombre de la tabla. Traducido con Google: SIMBOLO DESCONOCIDO ‘CLEAR’ EN CLASE “mesa” EN INGRESOS.

    • dapeca2608 dijo:

      tabla es un columview creado en el post anterior. No debería darte error. Tabla es simplemente el nombre, no importa en que idioma estés, los nombres no cambian. Y clear es un método propio del mismo, asegúrate de que el nombre este correctamente asignado.
      Saludos

      • Ramón dijo:

        Efectivamente el código es correcto, el problema debe ser del programa, pues por algún motivo que estoy tratando de buscar no reconoce clear.
        Gracias, por la rápida contestación, me fue muy valiosa.
        Saludos

  2. TigreMDQ dijo:

    Hola Ramón, yo tenia el mismo problema, y leyendo y releyendo la respuesta de dapeca2608 me di cuenta que al columview nunca le había cambiado el nombre en sus propiedades (estaba por defecto como columview1). Le cambie el nombre a Tabla y ahí si me dejó poner Tabla.Clear.
    Soy nuevo en gambas, vengo de visual y hace mucho que no programo nada, fijate si te da resultado lo que te digo.!
    Saludos!!

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 )

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 )

Google+ photo

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

Conectando a %s