Транзакции в базе данных не работают в Android - PullRequest
4 голосов
/ 06 февраля 2012

Я использую следующий код, но испытываю некоторые проблемы:

mDb.beginTransaction();
String updateQuery ="Query entered here"; 
String[] valVars = { Variables initialized here };
Cursor c = mDb.rawQuery(updateQuery, valVars);
if (c != null)
{
    mDb.setTransactionSuccessful();
    mDb.endTransaction();
    return true;
}
else
{ 
    mDb.endTransaction();
    return false;
}

Когда я использую отладку вместо запуска return true, она напрямую достигает return false, даже если это в операторе else.Подскажите пожалуйста в чем проблема и как это сделать правильно.

1 Ответ

1 голос
/ 06 февраля 2012

Используйте эту конструкцию, как описано в документации :

db.beginTransaction();
try {
    ...
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...