@fapsi
Безработный

Почему запрос к SQLite иногда возвращает пустой результат?

В приложении используется БД SQLite с 13 колонками.
Когда в параметрах запроса на получение или удаление заметки используется колонка с 1-й по 7-ю, запрос проходит, если с 8-й по последнюю - всегда возвращается 0 строк.

Скажем, вот запрос при поиске в БД
private NoteCursorWrapper querySeach(String stringSearch) {
		Cursor cursor = mDatabase.query(
				NoteTable.NAME_NT,
				null,	//Columns - select all columns
				NoteTable.Cols_note.TITLE_N + " LIKE ? OR " + NoteTable.Cols_note.TEXT_N + " LIKE ?",
				new String[] {"%"+ stringSearch + "%", "%"+ stringSearch + "%"},
				null,	//groupBy
				null,	//having
				NoteTable.Cols_note.DATE_CREATED_N + " DESC"//
			);
		
		return new NoteCursorWrapper(cursor);
}


В NoteTable.Cols_note.TITLE_N и NoteTable.Cols_note.TEXT_N имена 6-й и 7-й колонок.

Но уже этот запрос (получение зашифрованных записей) всегда возвращает 0 строк, даже если в колонке NoteTable.Cols_note.ENCRYPT_STATUS_N установлено 1. Колонка по счёту 8-я.
private NoteCursorWrapper querySeach(String stringSearch) {
	Cursor cursor = mDatabase.query(
			NoteTable.NAME_NT,
			null,	//Columns - select all columns
			NoteTable.Cols_note.ENCRYPT_STATUS_N + " =? ",
			new String[] {"1"},
			null,	//groupBy
			null,	//having
			null//
		);
		
	return new NoteCursorWrapper(cursor);
}


Приходится извращаться - получать все заметки, а далее фильтровать по статусу шифрования или другому параметру.

В чём может быть проблема? И как её решить?
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы