У меня есть некоторая проблема для нескольких транзакций в greendao Пример У меня уже есть две таблицы с книгой имен и type_book.Android - Green Dao Несколько транзакций
у меня уже есть такой код:
SQLiteDatabase db = bookMasterDao.getDatabase();
db.beginTransaction();
try {
bookMasterDao.insert(bookMaster);
idBook = bookMaster.getId().intValue();
db.setTransactionSuccessful();
} catch (Exception ex) {
System.out.println("Error insert book master " + ex);
} finally {
db.endTransaction();
}
SQLiteDatabase dbTypeBook = typeBookMasterDao.getDatabase();
dbTypeBook.beginTransaction();
try {
typeBookMasterDao.insert(bookMaster);
dbTypeBook.setTransactionSuccessful();
} catch (Exception ex) {
System.out.println("Error insert type book" + ex);
} finally {
dbTypeBook.endTransaction();
}
Я хочу, чтобы в случае отказа типа транзакции книга вставки, сделка книга мастера Откат я имею в виду отмены вставки мастер данные книги. Как сделать такую транзакцию?
любая идея, ссылка и пример очень помогите спасибо.
Зачем создавать базы данных еще раз? dao имеет файл DaoMaster и там файл уже создает таблицу, теперь во фрагменте мне нужен такой код, но openOrCreateDatabase не может разрешить в фрагменте. – Name
Не создается снова, он создает таблицы только в том случае, если они не существуют. Просто убедитесь, что у вас есть правая схема db. И да, вы не можете использовать openOrCreateDatabase(), но не должны. Лучшая практика заключается в том, чтобы позволить контексту (активности/приложению) хранить ссылку на базу данных. В любом случае попробуйте getActivity(). OpenOrCreateDatabase() из вашего фрагмента. Это должно работать, даже если я не рекомендую его. – l0v3
спасибо, я понимаю, теперь хочу тест, но я смутился, как отправить справочную базу данных из активности в фрагмент, и каким образом вы очень рекомендуете и безопасны. – Name