frajanic   04-09-2024, 18:09
#1
Estoy probando los DATA (DataSource, DataBrowser).
Tengo creada una Conexion para una Base de Datos y creado en ella una tabla.
En FMain he incluido un DataSource con la propiedad Connection con la conexión ya creada y la propiedad Table con la tabla existente.
Dentro deñ DataSource he creado un DataBrowser con la propiedad Colums con los campos de la tabla que me aparece y Labels con los nombres de los campos.
Esto es bien sencillo, pero cuando Ejecuto se detiene con el error:
Unable to locate databse
Tengo incluidos los Componentes: gb.db, gb.data, gb.dbform, gb.sqlite3
Si abro la conexión me aparece efectivamente la base de datos creada con su tabla.
La versión de Gambas 3.19.4
¿Qué puede suceder?
Gracias anticipadas.
Shordi   04-09-2024, 22:34
#2
Sin ver tu proyecto es imposible decirlo. Pásalo o pasa uno pequeñito que reproduzca el error y te podremos decir algo.

Saludos

No podemos regresar
frajanic   05-09-2024, 11:20
#3
Os adjunto el Proyecto LIBROS.
Ni me imagino qué puede suceder, es tan sencillo.
Por cierto, he  recuperado un proyecto en el que se usan DataSource, DataBrowser, etc. que funcionaba perfectamente y ahora, al ejecutarlo, sucede lo mismo: "Unable to locate database".
Gracias.
Archivos adjuntos
.gz
LIBROS-0.0.1.tar.gz (Tamaño: 9.23 KB Descargas: 2)
Shordi   05-09-2024, 11:45
#4
Ya. El problema es simple: no abres la Base de datos, por tanto los DataSource no la encuentran.
Si añades esto al formulario FMenu, por ejemplo (o al fMain, aunque en tu ejemplo no lo utilices para nada,Mejor establece fMenu como clase de inicio):

Código:
Public Sub Form_Open()

     Dim hCon As Connection

     hCon = Connections["Connection1"]
     If hcon.opened Then hCon.Close()
     hcon.Type = "Sqlite3"
     hcon.Host = Application.Path
     hcon.Name = "LIBROS_DB"
     hcon.Open()

End
Funciona perfectamente. Tan sólo recuerda que Application.Path sólo funciona cuando ejecutes el program desde el IDE. Si lo ejecutas con ese path una vez compilado o instado desde un paquete, no te funcionará. Lo mejor es en la primera ejecución del programa copiarlo a una carpeta "Normal" y establecer luego el hcon.Host dirigido a ella.

Saludos.
Última modificación: 05-09-2024, 11:59 por Shordi.

No podemos regresar
frajanic   05-09-2024, 12:31
#5
Muchísimas gracias.
Funciona. Claro... si es de perogrullo.
Pensaba que al estar definida la conexión en el Datasource, se encargaba de abrir la Base de Datos.
Perdón por mi incompetencia.
Shordi   05-09-2024, 18:07
#6
(05-09-2024, 12:31)frajanic escribió: Muchísimas gracias.
Funciona. Claro... si es de perogrullo.
Pensaba que al estar definida la conexión en el Datasource, se encargaba de abrir la Base de Datos.
Perdón por mi incompetencia.

Como ya he dicho por aquí múltiples veces, nada de perdón. Estamos para ayudar y tus dudas dan sentido a todo esto.

Saludos

No podemos regresar
Shell   07-09-2024, 10:48
#7
frajanic:

Ya nos contarás como progresas y los errores que vas encontrando.
Puede que exista un error "muy común" pero tienes que verlo
según tu código va aumentando. Una pista que te pueda aclarar algo:

Variables locales y variables comunes a un formulario, un modulo, etc.
Y ademas, el paso de una variable, dato, entre los distintos
formularios para que puedas usarlos en estos.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.