Hallo,
ich versuche mich in SQL einzuarbeiten, scheitere aber schon beim einfachen Befüllen einer Tabelle.
Die Daten hole ich als CSV-Datei, getrennt mit ; vom PC - das funktionmiert noch.
Allerdings werden keine Daten in die SQL-Tabelle eingelesen - keine Fehlermeldung aber 0 Datensätze.
Vielleicht kann mich jemand auf die richtige Spur bringen, hier mein Code:
ich versuche mich in SQL einzuarbeiten, scheitere aber schon beim einfachen Befüllen einer Tabelle.
Die Daten hole ich als CSV-Datei, getrennt mit ; vom PC - das funktionmiert noch.
Allerdings werden keine Daten in die SQL-Tabelle eingelesen - keine Fehlermeldung aber 0 Datensätze.
Vielleicht kann mich jemand auf die richtige Spur bringen, hier mein Code:
B4X:
'löscht zuerst die Tabelle falls sie existiert und erstellt sie wieder neu
SQL1.ExecNonQuery("DROP TABLE IF EXISTS table1")
SQL1.ExecNonQuery("CREATE TABLE table1 (col1 TEXT,col2 TEXT,col3 TEXT,col4 TEXT)")
'
'liest die CSV-Daten aus der Datei HBV4a.txt ein
List.Initialize
List.Clear
List = File.readlist(AppDir,"HBV4a.txt")
'
ToastMessageShow("Es werden jetzt " & (List.Size-1) & " Datensätze eingelesen.",True)
'
SQL1.BeginTransaction
Try
For i = 1 To List.Size-1
str_array = List.Get(i)
arr_zeile = Regex.Split(";",str_array)
SQL1.ExecNonQuery("INSERT INTO table1 VALUES(arr_zeile(1),arr_zeile(2),arr_zeile(3),arr_zeile(4))")
Next
SQL1.TransactionSuccessful
Catch
Log(LastException.Message)
End Try
SQL1.EndTransaction
'
Msgbox("Datensätze in SQL-Table = " & SQL1.ExecQuerySingleResult("SELECT count(*) FROM table1"),"Hinweis")