sqlite force закрывается после открытия базы данных - PullRequest
0 голосов
/ 27 октября 2011

Мои базы данных (информация для отображения в таблице) связаны с кнопками.Когда они нажимаются, в таблице должна отображаться информация.База данных работает, но это ловушка: она работает, когда мне уже вводили информацию из тестирования.Но база данных падает, если их нечего загружать.Вот код:

rentD.open();
Log.d(TAG, "OPENING RENT DATABASE...");
String rentData = rentD.getData();
billAmount.setText("Total: " + nf.format(rentD.getAmountTotal()));
Log.d(TAG, "CLOSING RENT DATABASE...");
rentD.close();
Log.d(TAG, "RENT DATABASE CLOSED");
dataResults.setText(rentData);

Так что каждый раз, когда я нажимаю кнопку RENT, я получаю принудительное закрытие.После дальнейшего поиска я обнаружил, что проблема связана с:

billAmount... nf.format(rentD.getAmountTotal()));

, который отображает сумму в денежном формате.Так что если я заменю rentD.getAmountTotal () на строковую переменную, база данных будет работать отлично.Вот ошибка, которую я получил от LogCat:

10-26 23:53:40.764: DEBUG/DEBUG(14999): OPENING RENT DATABASE...
10-26 23:53:40.764: DEBUG/AndroidRuntime(14999): Shutting down VM
10-26 23:53:40.764: WARN/dalvikvm(14999): threadid=1: thread exiting with uncaught    exception (group=0x4001d5a0)

Опять же, проблема заключается в передаче данных, которые еще не существуют, в текстовое представление.Мой конечный результат - запустить программу без данных, чтобы пользователь мог перейти к действиям, которые будут заполнять таблицу.Есть предложения?

1 Ответ

0 голосов
/ 28 октября 2011

Из вашего комментария я бы посоветовал вам убрать DecimalFormat из getAmountTotal(), потому что он ничего не дает (вы не используете возвращаемое значение format()), и используйте вместо этого:

public double getAmountTotal() {
    Cursor cursor = ourRDatabase.rawQuery("SELECT SUM(RENT_AMOUNT) FROM rentTable", null);
    if (cursor.moveToFirst()) {
        return cursor.getDouble(0);
    } else {
        return 0; // or another default value of your choice
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...