Hallo Carsten
Eine CSV-Datei ist ungünstig. Da es sich um Freie Eingabetexte handelt können auch Komma vorkommen.
Ich weiß das das dbase-Format uralt ist. Aber man kann so einfach auf einzelne Datensätze gehen und einzelne Felder lesen und schreiben. Text, Numerisch, Datum, Logisch sogar BLOB war da schon möglich. Ich trauere dem auch nicht hinterher nur SQL verstehe ich nicht.
Ich wollte mit folgenden Code versuchen an die Inhalte zu kommen. GCcode, infotext sind Felder in meiner SQL-Datenbank. Erstellt mit SQ-Light.
Sub Activity_Create(FirstTime As Boolean)
If File.Exists(DBFileDir, DBFileName) = False Then
If FirstTime Then
File.Copy(File.DirAssets, DBFileName, DBFileDir, DBFileName)
SQL1.Initialize(DBFileDir, DBFileName, True)
End If
Else
If FirstTime Then
SQL1.Initialize(DBFileDir, DBFileName, True)
End If
End If
Dim Cursor As Cursor
Cursor = SQL1.ExecQuery("SELECT GCcode, infotext FROM table1")
For i = 0 To Cursor.RowCount - 1
Cursor.Position = i
Log(Cursor.GetString("GCcode"))
Log(Cursor.GetInt("infotext"))
Next
Cursor.Close
End Sub
Leider wird auf meinem Rechnet unter dem Emulator die Datenbank nicht gefunden. Wenn ich zuhause arbeite ist mein S3 über WLan angeschlossen und ich arbeite mit der Bridge. In der Firma habe ich kein WLan. Daher der Emulator.
Die Variablen File.DirRootExternal und File.DirInternal weisen auf Verzeichnisse auf dem Handy hin. Bei der Zuwesiung von
DBFileDir = "Basic4Android\Wagner\Files" und
DBTableName = "mystery" ergibt der Aufruf " File Not found."
Ich habe auch kein Beispiel gefunden wo ein Verzeichnis vorgegeben wurde oder das Prgramm auf eine datenbank zugreift. Selbst das Beispiel DBUtils erstellt eine Datei und füllt diese per Programm mit Beispieldaten. Für eine Demo ist das OK, hat aber mit einer späteren Anwendung nicht gemeinsam.
Wie kann ich auf eine Datenbank unter dem Emulator zugreifen ?
Gruß Martin