German Neuling hat Grundsatzfragen

BMP

Banned
Habe es auf die SD-Karte gespeichert.
Auf dem Handy bekomme ich die alten Daten sofort wieder.
Er zeigt dann im Log beim Starten auch an "Number of rows = 5"

Wenn ich das ganze aber im Emulator starte, bekomme ich jedes mal die Meldung "DB NICHT vorhanden."

B4X:
Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("1")
      SQL1.Initialize(File.DirDefaultExternal, "Verbrauchsdaten.db", True)

       If File.ExternalWritable = False Then
                    Msgbox("Keine SD-Karte vorhanden oder Schreibgeschüzt.", "")
          Return
                 End If
      
      If File.exists(File.DirDefaultExternal, "Verbrauchsdaten.db") = False Then
         Log("DB NICHT vorhanden.")
         CreateTables
      End If

      Log("Number of rows = " & SQL1.ExecQuerySingleResult("SELECT count(*) FROM table1"))
End Sub

B4X:
Sub CreateTables
SQL1.ExecNonQuery("CREATE TABLE table1 (col1 INTEGER, col2 INTEGER,col3 INTEGER, col4 INTEGER)")
End Sub
 

klaus

Expert
Licensed User
Longtime User
Versuche mal diesen Code:
B4X:
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("1")

    If File.ExternalWritable = False Then
        Msgbox("Keine SD-Karte vorhanden oder Schreibgeschüzt.", "")
        Return
    End If
        
    SQL1.Initialize(File.DirDefaultExternal, "Verbrauchsdaten.db", True)
    If File.exists(File.DirDefaultExternal, "Verbrauchsdaten.db") = False Then
        Log("DB NICHT vorhanden.")
        CreateTables
    End If

    Log("Number of rows = " & SQL1.ExecQuerySingleResult("SELECT count(*) FROM table1"))
End Sub
Du versuchst SQL1 zu initialisieren bevor Du weisst ob die SDKarte da ist.

Beste Grüsse.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…