sql >> Databasteknik >  >> RDS >> SQLite

sqlite returnerade:felkod =1, msg =ingen sådan kolumn:kök1

Om room är en teckentyp (och det är det enligt CREATE_TABLE_2). sträng där den är definierad som TEXT NOT NULL ), måste du ersätta:

KEY_ROOM + "=" + r

med:

KEY_ROOM + "= '" + r + "'"

Som du har det, slutar du med frågesegmentet:

where room = kitchen1

och det klagar på att det inte finns något kitchen1 kolumn i den tabellen, med rätta.

Genom att citera det får du rätt:

where room = 'kitchen1'

Detta kommer att förvandla raden för att skapa markören till:

Cursor c = ourDatabase.query(DATABASE_TABLE2, columns,
    KEY_ROOM + "='" + r + "'", null, null, null, null);
//  ^^^^^^^^^^^^^^^^^^^^^^^^^
//         Changed bit


  1. 2019 Open Source Database Report:Top Databases, Public Cloud vs. On-Premise, Polyglot Persistence

  2. Varför flera JOINs är dåliga för Query eller inte kommer i vägen för Optimizer

  3. Sök text i lagrad procedur i SQL Server

  4. Vad förklarar PostgreSQL exakt för mig?