German Frage zu SQLScrollViewMultiselect

Joe73

Active Member
Licensed User
Hallo,
Bin noch B4A Anfänger. Habe allerdings u.a. schon einiges mit PureBasic programmiert
oder auch mit AppInventor.
Da ich etwas mit einer Datenbank versuchen möchte habe ich mir SQLScrollViewMultiselect
als Beispiel runtergeladen.
Nun habe ich vor eine bestimmte Spalte zu sortieren.
Habe es mit der Spalte Code versucht.

In der SUB SQLReadTable

habe ich eingefügt

Cursor1 = SQL1.ExecQuery ("SELECT * FROM table1 ORDER BY Code ASC")

statt

Cursor1 = SQL1.ExecQuery("SELECT Code, First, Name FROM table1")

Wenn ich dann in der laufenden App eine neue Zeile hinzufüge und in die Spalte Code"
z.B. 750 eingebe dann bleibt diese Zeile am Ende der Liste.
Jedoch nach dem Einfügen von 0900 (in der Spalte Code) wird diese Zeile korrekt am Anfang einsortiert.
Vermutlich wird da nur nach Text sortiert und nicht nach Zahlen.
Wie kann ich das ändern bzw. was muss ich alles ändern?

Kann man eigentlich nach der Eingabe weiterer Zeilen diese gleich an die entsprechende
Stelle einsortieren in der Liste?
Mit der SELECT ORDER Funktion wird die Liste wohl nur zur Anzeige sortiert, oder?

Vielen Dank für Eure Hilfe...

mfg Jürgen
 

klaus

Expert
Licensed User
Longtime User
In der Datenbank ist Code als TEXT definiert, das heisst dass ORDER BY nach Text sortiert.
Du musst die Datenbank ändern und Code als INTEGER definieren.
Und die SQLite Zeilen demnach ändern.
Kann man eigentlich nach der Eingabe weiterer Zeilen diese gleich an die entsprechende
Stelle einsortieren in der Liste?
Automatisch nein.
Das musst Du selbst machen.
Oder die Datenbank neu einlesen.

Das SQLScrollViewMultiselect Beispiel ist ein relativ altes Beispiel.
Du solltest dir die SQLiteLight Beispiele im User's Guide anschauen.
Diese befinden sich auch in meier Unterschrift SQLiteLight four simple B4A SQLite projects.
 

Joe73

Active Member
Licensed User
Hallo,

vielen Dank Klaus für die schnelle Antwort.
Ich werde mir dann mal diese neueren Beispiele ansehen.

Die Besten Grüße aus Halle(Saale) von Jürgen
 
Top