Мой курсор возвращается записи в два раза, даже если я установить отчетливую к истинным:отображения различных записей SQLITE андроид
возвратного myDataBase.query (правда, DB_TABLE, новый String [] { " ROWID как _id", KEY_CONDITIONS }, builder.toString(), признаки, null, null, null, null);
FYI,
public Cursor getData(String[] symptoms) {
String where = KEY_SYMPTOMS + "= ?";
String orStr = " OR ";
StringBuilder builder = new StringBuilder(where);
for(int i = 1; i < symptoms.length; i++)
builder.append(orStr).append(where);
return myDataBase.query(true, DB_TABLE, new String[]
{"rowid as _id", KEY_CONDITIONS}, builder.toString(), symptoms, null, null, null, null);
}
Или я пытался изменить к rawQuery
return myDataBase.rawQuery("SELECT DISTINCT " + KEY_CONDITIONS + " FROM "
+ DB_TABLE + " " + builder.toString() + symptoms.toString(), null);
Мой LogCat говорит:
03-02 22:57:02.634: E/AndroidRuntime(333): FATAL EXCEPTION: main
03-02 22:57:02.634: E/AndroidRuntime(333): android.database.sqlite.SQLiteException: near "=": syntax error: , while compiling: SELECT DISTINCT conditions FROM tblSymptoms symptoms= ? OR symptoms= ?[Ljava.lang.String;@405550f8
Пожалуйста, помогите мне определить, что, кажется, отсутствует здесь. Любая помощь действительно ценится.
Да, очевидно, я хочу отличные условия. Пожалуйста, см. Мое сообщение о обновлении моей таблицы записей –
Я попытался выполнить этот запрос в браузере SQLite: выберите условия DISTINCT FROM tblsptptoms, где симптомы = «Боль в груди» ИЛИ симптомы = «Головокружение». Интересно, почему он не отображается в Android? –
Какой запрос вы используете? Вы попробовали 'rawQuery()' выше? Ошибка 'query()', потому что это эквивалент SQL: 'Выберите DISTINCT (rowid, условия) FROM tblsptptoms где ...'. Обратите внимание на разницу? – Sam