sql android что-то вроде не так, как вы выводите из курсора статус запроса? - PullRequest
0 голосов
/ 20 июня 2010

У меня есть этот код:

private void insertValus() {
    ContentValues initialValues = new ContentValues();

    for (int i = 0 ; i < COUNTRIES.length ; i++){

        Character tmp = (Character)COUNTRIES[i].charAt(0);

        initialValues.put(VALUE, COUNTRIES[i]);
        initialValues.put(TYPE, "country");
        initialValues.put(LETTER,tmp.toString(tmp));

        db.insert(TABLE_NAME, null, initialValues);
    }
}

public boolean existInDataBase(String userChoice) {
    boolean returnval = true;
    //gameList[0]

    Cursor cursor = db.query(TABLE_NAME, new String[] {VALUE}
    ,VALUE+" like " + "'%"+ userChoice +"%'", null, null, null, null);

    if (cursor != null) // I always enter here even if the string is no country
        returnval = false;

    return returnval;
}

и все, что я вставлю, даже если результат запроса должен быть ложным (имеется в виду курсор == ноль)

Еще два вопроса:

  1. Как мне увидеть базу данных, которую я построил в эмуляторе?

  2. Должен ли я запустить ее вне приложения, а затем добавить в приложение??Или в первой компиляции пользователь немного пострадает (при первом использовании этого приложения)?

1 Ответ

0 голосов
/ 20 июня 2010

Ну, во-первых, когда вы хотите проверить, вернулся ли запрос без результатов, вместо того, чтобы проверить, если курсор == ноль, вы хотите иметь оператор if, такой как

if(! doesMoveExist.moveToFirst())

По крайней мере, так я делаю, и, похоже, у меня все хорошо.

Кроме того, для вашего эмулятора базы данных хранятся в файле образа, а не в виде отдельных файлов на вашем жестком диске.

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