Ошибка Sqlite при открытии вкладки и когда база данных пуста Android - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть четыре вкладки, первая из которых вставляет данные в базу данных, а две другие вкладки обеспечивают отображение данных с помощью курсора.вот моя проблема, хотя, когда я впервые запускаю приложение, и в базе данных ничего не появляется, если я нажимаю одну из 2 вкладок, это дает мне эту ошибку:

ERROR / AndroidRuntime: вызвано: android.database.sqlite.SQLiteException: такой таблицы нет

Мой вопрос заключается в следующем: как избежать этой ошибки при нажатии на одну из 2 вкладок, я хотел бы просто отобразить пустую вкладку с пустым списком.Вот фрагмент кода, где происходит ошибка:

void populate() {
    array = new ArrayList<String>();
    mydb = openOrCreateDatabase("vivo_id.db",
            SQLiteDatabase.CREATE_IF_NECESSARY, null);
    Cursor c = mydb.query("VIVOID", null, null, null, null, null, null);
    // start the managing cursor
    startManagingCursor(c);
    // move to first row
    c.moveToFirst();
    // continue searching until it is the last row in the column
    while (c.isAfterLast() == false) {
        sharable = c.getString(c.getColumnIndex("isCouponSharable"));
        coupon = c.getString(c.getColumnIndex("couponImageResult"));
        rawImage = c.getString(c.getColumnIndex("couponThumbnailResult"));
        keyword = c.getString(c.getColumnIndex("keyword"));
        histDesRes = c.getString(c.getColumnIndex("couponDescription"));
        history = keyword + " \n " + histDesRes + " " + "<@>" + ""
                + rawImage+""+"<@>"+""+coupon+""+"<@>"+""+sharable;
        array.add(history);

        c.moveToNext();
    }
    strings = array.toArray(new String[array.size()]);
    // close everything

    c.close();
    mydb.close();

}

Любая помощь или указатели будут с благодарностью, заранее большое спасибо.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2010

Мне не хватало самого важного элемента, о котором я узнал из следующего. Надеюсь, что и другие люди тоже будут это делать.@ начало функции.

0 голосов
/ 03 ноября 2010

выполнять поиск только if(c.moveToFirst()) { ...search comes here...}

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