Wie bekomme ich Daten aus einer bestimmten Zeile (Sqlite, Android Studio?

1 Antwort

Das hier ist natürlich falsch:

Cursor res = sqLiteDatabase.rawQuery("SELECT * FROM " + COL_2 + " WHERE "  + COL_1 + " = 1", null);

Hier muss natürlich stehen

Cursor res = sqLiteDatabase.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE "  + COL_1 + " = 1", null);

Wenn Du nicht zu einem späteren Zeitpunkt erlaubt willst, dass ein User Zeilen in diese Tabelle einfügt oder bearbeitet, dann ist es übrigens Schmarrn, das so zu machen. Dann bringt die Datenbank hier nicht nur keinen Vorteil, sie schafft (wie man sieht) sogar noch mehr Probleme.


freddyrike 
Beitragsersteller
 05.12.2017, 14:26

Crasht immer noch.

Was wäre deiner Meinung nach sinnvoller?

ohwehohach  05.12.2017, 14:37
@freddyrike

Dann wäre vielleicht mal ein Exception-Stacktrace sinnvoll, meinst Du nicht? ;-)

Wenn es feste Daten sind, dann würde ich die einfach im Programm hinterlegen. Eine kleine Klasse machen, welche die Daten aufnimmt und dann in einem Array die konkreten  Einträge machen mit den anzuzeigenden Daten.

verreisterNutzer  05.12.2017, 15:19
@freddyrike

COL_1 hast du als String definiert, in der Abfrage fehlen die Anführungszeichen (learning by doimg -- dass heist auch einiges ausprobieren, ebenm ob "" oder '' besser ist, aber ohne - geht nicht, schau dir mal die SQL-Syntax an ....)

ohwehohach  05.12.2017, 15:22
@verreisterNutzer

Wo siehst Du denn die Definition? Ich seh da nix. Normalerweise finden auch - sofern möglich - automatisch Konvertierungen statt. Daher glaube ich nicht, dass hier Anführungszeichen fehlen.