-1
Метод Cons.getpersonIdForRegisteredUser()
возвращает строку.
Мой запрос состоит из двух частей: одна, чтобы проверить человека id
, а другой data enabled
Как сравнить конкретное поле со строкой в SQLite
@Override
public Loader<Cursor> onCreateLoader(final int i, final Bundle bundle) {
String sortOrder = ContactProviderContract.ContactDatabaseEntry.COLUMN_NAME_FIRST_NAME
+ " COLLATE NOCASE ASC";
String selection = ContactProviderContract.
ContactDatabaseEntry.COLUMN_NAME_PERSON_ID + " != " + Cons.getPersonIdForRegisteredUser(getActivity().getApplicationContext())
+ " AND "
+ ContactProviderContract.ContactDatabaseEntry.COLUMN_NAME_DATA_ENABLED + " = ?";
String[] selectionArgs = { "1" };
return new CursorLoader(getActivity().getApplicationContext(),
ContactProviderContract.CONTACTS_URI,
ContactProviderContract.ContactDatabaseEntry.MIN_DETAILS_COLUMNS,
selection,
selectionArgs,
sortOrder);
}
Ошибка в том, что строка извлекается из метода Cons.getpersonid...()
рассматривается как столбец, а не в виде строки для сравнения ,
Вы не можете иметь '! =' Или 'AND' с выбором. Это должны быть аргументы 'WHERE'. –
Какая строка кода вызывает ошибку? –