अगर room
एक वर्ण प्रकार है (और यह CREATE_TABLE_2
. के अनुसार है) स्ट्रिंग जहां इसे TEXT NOT NULL
के रूप में परिभाषित किया गया है ), आपको प्रतिस्थापित करने की आवश्यकता है:
KEY_ROOM + "=" + r
साथ:
KEY_ROOM + "= '" + r + "'"
जिस तरह से आपके पास है, आप क्वेरी सेगमेंट के साथ समाप्त कर रहे हैं:
where room = kitchen1
और यह शिकायत कर रहा है कि कोई kitchen1
नहीं है उस तालिका में कॉलम, ठीक है।
इसे उद्धृत करके, आप सही के साथ समाप्त होते हैं:
where room = 'kitchen1'
यह कर्सर निर्माण रेखा को निम्न में बदल देगा:
Cursor c = ourDatabase.query(DATABASE_TABLE2, columns,
KEY_ROOM + "='" + r + "'", null, null, null, null);
// ^^^^^^^^^^^^^^^^^^^^^^^^^
// Changed bit