SQLite
 sql >> Datenbank >  >> RDS >> SQLite

sqlite zurückgegeben:Fehlercode =1, msg =keine solche Spalte:Küche1

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