Помогите с курсором Android - PullRequest
0 голосов
/ 20 января 2011

Итак, у меня есть курсор, который получает результат из запроса к базе данных приложения. Я знаю, что в базе данных есть по крайней мере одна правильная запись, так как мне удалось получить строку из строки ранее.

Затем я изменил некоторую логику, чтобы приспособиться к результату, и внезапно получаю ноль, возвращаемый при вызове c.getString (0). Соответствующий код размещен ниже.

Я новичок в Android и Java, поэтому мне может не хватать тонкости, которая вызывает проблему.

   Cursor c = context.getContentResolver().query(tempJobName.build(), 
           null, null, null, null);

   for (c.moveToFirst(); c.isAfterLast() == false; c.moveToNext())
   {
       Log.w(TAG, c.getString(0));
       if (c.getString(0).equalsIgnoreCase(jobName))
       {
           existed = true;
           break;
       }
    }

1 Ответ

1 голос
/ 20 января 2011

Возможно, вы захотите добавить больше деталей. Но так как вы нашли некоторые записи, решение вашей проблемы простое. Не могли бы вы заменить эту строку на эту? (Первый столбец таблицы может измениться вправо:))

c.getString(0);

с

int columnIndex = c.getColumnIndex(COLUMN_NAME);// You could also use getcolumnIndexorThrow variant.
c.getString(columnIndex);

если это не работает, то в вашей таблице нет столбца. Вы просто лаете не на то дерево.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...