Wenn room
ist ein Zeichentyp (und das ist er laut CREATE_TABLE_2
Zeichenfolge, wo sie als TEXT NOT NULL
definiert ist ), müssen Sie Folgendes ersetzen:
KEY_ROOM + "=" + r
mit:
KEY_ROOM + "= '" + r + "'"
So wie Sie es haben, landen Sie beim Abfragesegment:
where room = kitchen1
und es beschwert sich, dass es keine kitchen1
gibt Spalte in dieser Tabelle, zu Recht.
Indem Sie es zitieren, erhalten Sie am Ende das Richtige:
where room = 'kitchen1'
Dadurch wird die Cursor-Erstellungszeile zu:
Cursor c = ourDatabase.query(DATABASE_TABLE2, columns,
KEY_ROOM + "='" + r + "'", null, null, null, null);
// ^^^^^^^^^^^^^^^^^^^^^^^^^
// Changed bit