Sortieren mit SQlite

  • Antworten:3
Frank Rudolf
  • Forum-Beiträge: 215

07.02.2018, 11:29:34 via Website

Ich versuche die Sortierung über den unten angegebenen Cursor, der sonst gut klappt.

Die Selection >=1 funktioniert.

Aber nicht die Sortierung. Wenn ich ein DESC oder ein ASC hinter die Spaltenangabe InfoDbHelper.COLUMN_PRIORITY setze, so wird sie mir gleich rot eingefärbt. Ohne das ASC wird nicht sortiert, obwohl dieses letzte Argument in AndroidStudio eindeutig als "order by" benannt wird.

Cursor cursor = database.query(InfoDbHelper.TABLE_INFO_LIST,
                columns, InfoDbHelper.COLUMN_JUST_IMPORTANT + ">= 1"  , null, null, null, InfoDbHelper.COLUMN_PRIORITY);

Auch die Variante "priority desc" funktioniert nicht. Eine Fehlermeldung erhalte ich erst dann, wenn ich zB wirklichen Quatsch mache (zB "kkk asc"), also einen falschen Spaltennamen angebe.

Vielleicht auf die Android-Studio-Hilfe verzichten und den gesamten SQL-String in einem einzigen String der query-Anweisung übergeben?

— geändert am 07.02.2018, 11:30:15

Kommentieren
Frank Rudolf
  • Forum-Beiträge: 215

07.02.2018, 11:40:26 via Website

Sorry! War wohl ein LogikFehler. Falsche Spalte angegeben.

Ich schreibs mal um.

Hilfreich?
Kommentieren
Rafael K.
  • Forum-Beiträge: 2.359

07.02.2018, 12:21:45 via Website

Frank Rudolf

Aber nicht die Sortierung. Wenn ich ein DESC oder ein ASC hinter die Spaltenangabe InfoDbHelper.COLUMN_PRIORITY setze, so wird sie mir gleich rot eingefärbt.

Das verstehe ich nicht ganz. Android Studio hat ja keinen SQL Syntax Validator, also färbt es keine SQL Syntax Fehler rot, sondern eher Java Syntax Fehler.
Wie genau konkatenierst du denn den String für den Parameter orderBy?

Hilfreich?
Frank Rudolf
Kommentieren
Frank Rudolf
  • Forum-Beiträge: 215

07.02.2018, 12:46:45 via Website

Das verstehe ich nicht ganz. Android Studio hat ja keinen SQL Syntax
Validator, also färbt es keine SQL Syntax Fehler rot, sondern eher
Java Syntax Fehler. Wie genau konkatenierst du denn den String für
den Parameter orderBy?

Unter AndroidSTudio werden in meinem Falle die Parameter getrennt mit Namen angezeigt (group by, order by, select etc.). Ich brauche also die einzelnen Parameter nur getrennt füllen. Manchmal genügt schon ein Null. Das Zusammenfügen der einzelnen SQL-Elemente muss also nicht von mir vorgenommen werden. Obwohl ich das auch könnte ;-).

Im Falle von order by war er zufrieden mit "[spaltenname] asc".

In der Tat war ein Logik-Fehler am Nicht-Funktionieren Schuld. Läuft jetzt wie gewünscht.

Hilfreich?
Kommentieren