Spanish Problemas tontos (seguro) en sqlite

figorra

Member
Licensed User
Longtime User
Hola chicos,

estoy intentando acceder a un fichero sql. Lo tengo en el process_globals, lo tengo insertado en la pestaña de archivos para que lo copie en la aplicación, tengo la librería marcada, los nombres son correctos, y está en la carpeta FILES del proyecto. Pero me tira error 14 de no encontrar o no poder abrir la base de datos......

Alguien me puede ayudar por favor?


B4X:
Sub Activity_Create(FirstTime As Boolean)
   
    If FirstTime Then
        SonidoFondo.Initialize
        BaseDeDatos.Initialize(File.DirDefaultExternal,"basededatos.db",True)
    End If
   
    Log("Número de líneas = " & BaseDeDatos.ExecQuerySingleResult("SELECT count(*) FROM Prueba"))

    'Preparación del sonido de Fondo
    PreparaSonidoDeFondo
    SonidoFondo.Play
   
    'Carga de la pantalla principal
    Activity.LoadLayout("principal")
   
End Sub
 

figorra

Member
Licensed User
Longtime User
Solucionado, por si alguien le pasase lo mismo........

La carpeta File es de solo lectura, así que hay que copiarla hacia otra que tenga permisos de escritura.....

Así que si añadimos estas líneas conseguiremos que el codigo funcione.

B4X:
Sub Activity_Create(FirstTime As Boolean)
  
    If FirstTime Then
  
        If File.Exists(File.DirInternal,"basededatos.db") = False Then
            File.Copy(File.DirAssets,"basededatos.db",File.DirInternal,"basededatos.db")
        End If

        SonidoFondo.Initialize
        BaseDeDatos.Initialize(File.DirInternal,"basededatos.db",True)
    End If
  
    Log("Número de líneas = " & BaseDeDatos.ExecQuerySingleResult("SELECT count(*) FROM Prueba"))

    'Preparación del sonido de Fondo
    PreparaSonidoDeFondo
    SonidoFondo.Play
  
    'Carga de la pantalla principal
    Activity.LoadLayout("principal")
  
End Sub

el codigo

B4X:
If File.Exists(File.DirInternal,"basededatos.db") = False Then
            File.Copy(File.DirAssets,"basededatos.db",File.DirInternal,"basededatos.db")
        End If

nos copiaría la base de datos a una carpeta con esos permisos y podríamos editarla.

Espero que sirva de ayuda.

Recordad dar LIKE si os gusta y os ayudó
 
Top