Ciao, ho un problema con sqlite, creo il database come ho sempre fatto e lo metto in assets, mi collego al db e lo vedo nel telefono:
Eseguo questo codice per creare i settaggi, codice sempre funzionante:
non mi da nessun errore e non crea nulla.
eseguo questo codice per scriverci eventuali nuovi dati sempre funzionante:
non da errori e non fa nulla.
Lo faccio da viewer di sqlite crea tutto e funziona, da b4a non lo fa, sempre usato questo codice e andava, cosa può essere successo?
B4X:
Sub SQLConn_Initialize(DBName As String,CreateInExternalDir As Boolean)
Dim rp As RuntimePermissions
Dim TargetDir As String = ""
'controlla se la dir esterna è scrivibile e se ho scelto di scrivere in tale posizione altrimenti scrivo sulla directory interna (sempre true)
If File.ExternalWritable = True And CreateInExternalDir = True Then
TargetDir = rp.GetSafeDirDefaultExternal("")
DBCreatedExternal = True
Else
TargetDir = File.DirInternal
DBCreatedExternal = False
End If
'se il file del db non esiste lo copio dalla cartella assets
If File.Exists(TargetDir, DBName) = False Then
File.Copy(File.DirAssets, DBName, TargetDir, DBName)
End If
'inizializzo la connessione
SQLConn.Initialize(TargetDir,DBName,True)
SQLConnIsInitialized = SQLConn.IsInitialized
End Sub
Eseguo questo codice per creare i settaggi, codice sempre funzionante:
B4X:
'CREO LA TABELLA DELLE IMPOSTAZIONI SE NON ESISTE
Functions.SQLConn.ExecNonQuery("CREATE TABLE IF NOT EXISTS Settings (Id INTEGER Not Null PRIMARY KEY AUTOINCREMENT UNIQUE,SettingName TEXT,SettingValue TEXT)")
non mi da nessun errore e non crea nulla.
eseguo questo codice per scriverci eventuali nuovi dati sempre funzionante:
B4X:
Functions.SQLConn.ExecNonQuery("UPDATE Settings SET SettingValue = '" & SettingValue & "' WHERE SettingName = '" & SettingName & "'")
non da errori e non fa nulla.
Lo faccio da viewer di sqlite crea tutto e funziona, da b4a non lo fa, sempre usato questo codice e andava, cosa può essere successo?