in der DBUtils steht, dass man mit "InsertMaps" sofort mehrere Datensätze in die DB schreiben kann (per ReDim auf die map);
hat jemand einmal ein Beispiel bzw. kurze Info, wie mein Code das mit einem Aufruf machen kann ?
So mache ich das zZt (ist natürlich bei vielen Datensätzen recht lahm):
INSERT einzeln:
Dim mp As Map
Dim maps As List
For i = 1 To 5
maps.Initialize
mp.Initialize
mp.Put( "Name_Spieler", "Spieler" & NumberFormat(i,2,0))
maps.Add(mp)
DBUtils.InsertMaps(SQL1, "Spielerstamm", maps)
Next
Dim maps As List
maps.Initialize
For i = 1 To 5
maps.Add(CreateMap("Name_Spieler": "Spieler" & NumberFormat(i,2,0)))
Next
DBUtils.InsertMaps(SQL1, "Spielerstamm", maps)
ja, prima - das funktioniert so, ist aber bei vielen Spalten ziemlich unübersichtlich, wenn man alle Werte in das eine Statement packen muss.
Wie wäre das denn mit der Map lösbar ? das "mp.put" überschreibt anscheinend den alten Wert ...
Dim maps As List
maps.Initialize
For i = 1 To 5
maps.Add(CreateMap("Name_Spieler": "Spieler" & NumberFormat(i,2,0), _
"Ort": "Irgendwo", _
"PLZ": "99999"))
Next
DBUtils.InsertMaps(SQL1, "Spielerstamm", maps)
Oder:
B4X:
Dim maps As List
maps.Initialize
For i = 1 To 5
Dim mp As Map '<== Wichtig: Für jede Schleifenausführung eine neue Map
mp.Initialize
mp.Put("Name_Spieler", "Spieler" & NumberFormat(i,2,0))
mp.Put("Ort", "Irgendwo")
mp.Put("PLZ", "99999")
maps.Add(mp)
Next
DBUtils.InsertMaps(SQL1, "Spielerstamm", maps)
ah - ok, verstanden.
Da habe ich das "ReDim" in der DBUtils falsch verstanden:
mit ReDim konnte man ja früher eine Arraygröße neu festlegen,
gemeint ist hier aber ein erneutes DIM wie von euch beschrieben.