Во-первых, было бы полезно публиковать сообщения об ошибках, а не «без кубиков».
Во-вторых, пожалуйста, прочитайте документацию по SQLiteDatabase.query()
.Ключевые слова SQL, такие как "FROM" и "HAVING", не должны являться частью вызова метода.
Вы уже передали имя таблицы в качестве первого параметра query()
, поэтому пишете "FROM DATABASE_NAME WHERE ...
"является избыточным и приведет к неправильному формированию запроса.
В-третьих, вы не можете передавать имена переменных Java как часть selection
параметра String - вам нужно иметь строку типа: KEY_HOMEID +"="+ journalId
.
В-четвертых, обычно лучше использовать selectionArgs
, а не встраивать параметры запроса в selection
.Особенно, если у вас есть строки или параметры, поступающие из пользовательского ввода.
Например, selection = KEY_HOMEID +"=?"
и selectionArgs = new String[] { journalId }
В целом, вызов вашего метода должен выглядеть следующим образом:
mDb.query(DATABASE_TABLE,
new String[] { KEY_ROWID, KEY_HEIGHT,
KEY_BODY, KEY_HOMEID },
KEY_HOMEID +"=?", new String[] { journalId },
null, null, null);