German SQL-Tabelle in Array übertragen?

Joe73

Active Member
Licensed User
Hallo,
ich habe mal wieder eine Frage zum Thema SQL.
Es ist wohl möglich die Daten aus einem Array in eine Tabelle zu übertragen in einem Zug.

ich es im Gegensatz auch möglich, die Daten aus einer Tabelle bzw. vom Cursor
in ein Array zu übertragen ohne mit einer Schleife zu arbeiten?

vilen Dank schon mal für Eure Hilfe..

mfg Jürgen
 

DonManfred

Expert
Licensed User
Longtime User
Du musst schon durch den Cursor iterieren. Ohne geht es nicht.
Für den anderen Weg. Was genau willst du machen. Grundsätzlich kannst Du aus einem array dir neue SQLs zusammen bauen um die in die DB zu schreiben. Oder verstehe ich hier was falsch?
 

Joe73

Active Member
Licensed User
Hallo,
Du hast es richtig verstanden.
Also den Weg über Cursor will ich auch gehen.
Ich möchte dann aber die ermittelten Daten welche im Cursor sind mit einmal in ein Array bringen, ohne den Weg über
Cursor.Position usw. zu gehen, ob das geht würde ich gerne wissen...
Habe dazu noch nichts gefunden...

mfg Jürgen
 

MarkusR

Well-Known Member
Licensed User
Longtime User
wenn das diese SQL Klasse nicht kann wäre es interessant zu wissen ob man beim Type an die Felder kommt
dann könnte man eine kleine Sub machen welche die Tabellen Werte in die Struktur einordnet.
Dazu kenne ich B4X zu wenig.

B4X:
    Type Table1(a As String,b As Int, c As Float)
 

MarkusR

Well-Known Member
Licensed User
Longtime User
was mir so vor schwebt um das zu vereinfachen
fantasie code:
B4X:
Type RowDataType(a As String,b As Int, c As Float)

foreach row in sql.result
dim RowData as RowDataType
foreach column in row.Columns
RowData.Field(column) =  row.GetInt(column)
next
list1.add(RowData)
next
 

MarkusR

Well-Known Member
Licensed User
Longtime User
@DonManfred dann ist das quasi ein Feature Request , ich meine in C# geht das über eine Reflection Klasse.
Dieses manuelle zuweisen finde ich voll nervig.
 

MarkusR

Well-Known Member
Licensed User
Longtime User

OliverA

Expert
Licensed User
Longtime User

KMatle

Expert
Licensed User
Longtime User
Ich nutze nur Lists mit Maps.

Man kann bei SQLite auch alle Daten der Row einfach in ein Stringarray schreiben und wieder zurück. Ein Floatwert von 2.54 ist dann halt ein String "2.54". Der Insert oder ein Update einer REAL-Spalte (= Float) ist problemlos möglich. Formatprüfungen kann man (z.B. bei der Eingabe) über IsNumber erledigen. So erpart man sich aufwändiges hin- und herschaufeln von Daten.
 

Joe73

Active Member
Licensed User
Hallo,
vielen Dank für Eure Hinweise.
Ich werde mich mal damit beschäftigen.

mfg Jürgen
 
Top