Conectar Y Obtener Datos De Una BD SQLITE


Objetivo: Conectar Y Obtener Datos De Una BD SQLITE
bueno... espero que le ayude a alguien...

primero generamos la siguiente variable en el inicio del codigo



luego creamos la funcion para conectarse y un sub para desconectarnos

PRIVATE FUNCTION ConectarBase() AS Boolean

IF hConn <> NULL THEN RETURN FALSE

hConn = NEW Connection

hConn.Host = "ruta de la carpeta contenedora de la base de datos"
hConn.Name = "nombre_base_de_datos"
hConn.Type = "sqlite"
TRY hConn.Open()
IF ERROR THEN
hConn = NULL
Message.Error("Error al conectar con la base de datos")
RETURN FALSE
END IF

RETURN FALSE

END

PRIVATE SUB CerrarConexion()

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

END


ahora nos conectaremos... por ejemplo lo haremos al inicar el formulario y obtendremos datos para llenar por ejemplo un combobox

PUBLIC SUB Form_Open()
DIM hResult AS Result
DIM campo_uno AS String
DIM campo_dos AS integer

IF ConectarBase() THEN RETURN 'CONECTAR A LA BASE DE DATOS

hResult = hConn.Exec("select * from nombre_de_la_tabla")

DO WHILE hResult.Available

campo_uno = hResult["columa_uno_de_la_tabla"]
campo_dos = hResult["columna_dos_del_la_tabla"]

ComboBox1.Add(campo_uno, campo_dos) 'campo_dos vendria siendo el index por lo tanto puede ser perfectamente el ID de lla base de datos u otro

hResult.MoveNext()
LOOP
CerrarConexion

END


bueno... espero que sea de ayuda...

saludos

BrunoIV
Objetivo: Re: Conectar Y Obtener Datos De Una BD SQLITE
Aunque el post sea antigüo quiero añadir alguna cosa que falta para que cualquier perdido como yo lo consiga..

1.- Hay que añadir gb.db (proyecto --> propiedades --> Componentes)
2.- Creo que hay un error - En mi cabeza está
3.- gambas puede crear bases de datos desde herramientas --> Gestor de bases de datos (a veces se pone tonto con ese formulario y la mitad del mismo se "esconde" en la parte derecha y parece que no está)

Igualmente muchas gracias.. Ya era hora de empezar a hacer algo por mi parte -.-

última edición por BrunoIV el Jueves, 28 Julio 2011, 22:58; editado 1 vez
Objetivo: Re: Conectar Y Obtener Datos De Una BD SQLITE
BrunoIV escribió: [Ver mensaje]

2.- Creo que hay un error

Citar:
IF NOT ConectarBase() THEN RETURN 'CONECTAR A LA BASE DE DATOS



No, no hay un error. Si te fijas en la función, devuelve true si falla y devuelve false si tiene éxito, por lo tanto
IF ConectarBase() THEN RETURN
es correcto. Sin embargo la función sí contiene un error en la parte de código donde comprueba si hay error, donde debería devolver true, y no false:

PRIVATE FUNCTION ConectarBase() AS Boolean

IF hConn <> NULL THEN RETURN FALSE

hConn = NEW Connection

hConn.Host = "ruta de la carpeta contenedora de la base de datos"
hConn.Name = "nombre_base_de_datos"
hConn.Type = "sqlite"
TRY hConn.Open()
IF ERROR THEN
hConn = NULL
Message.Error("Error al conectar con la base de datos")
RETURN FALSE ' <============== aquí tiene que devolver TRUE, y no false.
END IF

RETURN FALSE

END


Claro está que si te gusta más preguntar si la conexión NO está establecida, en lugar de como lo hizo el autor, siempre puedes modificar las instrucciones RETURN para que devuelvan lo esperado.

Perfil MP  
BrunoIV
Objetivo: Re: Conectar Y Obtener Datos De Una BD SQLITE
No dije nada..xD Pensé que retorna false si se produce un error.. Pero ya está todo solucionado

última edición por BrunoIV el Jueves, 28 Julio 2011, 23:05; editado 2 veces
Objetivo: Re: Conectar Y Obtener Datos De Una BD SQLITE
Debemos crear un modulo con cualquier nombre para usarlo en coneeciones de bases de datos y sentencias sql en mi caso es asi:

PUBLIC asiscon AS Connection 'variable que contiene los parametros para administrar la conexion
PUBLIC asisresul AS Result 'variable de tipo table que guarda el resultado de una busqueda


PUBLIC FUNCTION conectarbase() AS Boolean

IF asiscon <> NULL THEN RETURN FALSE 'verifica si la base de datos esta cerrada
'verifica si la base de datos esta cerrada
asiscon = NEW Connection
'hConn.CLOSE ' Cerramos la conexion con la base de datos
asiscon.Host = "/home/jousseph/DESARROLLO-JOU/GAMBAS/control_asistencia" 'ubicacion de la base de datos
asiscon.Name = "asistencia_asesores" 'nombre base de datos"
asiscon.Type = "sqlite" 'tipo de la base de datos

TRY asiscon.Open() 'trata de abrir la base de datos

IF ERROR THEN 'mostra error si no se pudo conectar a la base de datos
Message.Error("ERROR AL CONECTARSE A LA BASE DE DATOS")
QUIT
RETURN TRUE
END IF
RETURN FALSE
END

PUBLIC FUNCTION cerrarconexion()
IF asiscon = NULL THEN
asiscon.Close()
asiscon = NULL
ENDIF


END

Un saludo


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4302s (PHP: -77% SQL: 177%)
Consultas SQL: 46 - Debug off - GZIP Activado