13

現在、私は次のようにしています:

DaoMaster.dropAllTables(getDb(), true);
DaoMaster.createAllTables(getDb(), true);

しかし、エンティティをデータベースに追加しようとすると、このテーブルが存在しないというクラッシュ ログが表示されます。

Edit1:データベースがロックされており、テーブルがまだ作成されていないために発生することはわかっています。だから私はこの問題を問題に減らしています - テーブルがgrrenDao/Sqliteでロックされているかどうかを知る方法は?

4

6 に答える 6

2
public static void clearDatabase(Context context) {
        DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(
                context.getApplicationContext(), Constants.SQL_DB_NAME, null);
        SQLiteDatabase db = devOpenHelper.getWritableDatabase();
        devOpenHelper.onUpgrade(db,0,0);
    }
于 2016-04-18T06:45:14.060 に答える
0

このエラーを通過するように build.gradle の schemaVersion をアップグレードしました

于 2018-07-17T14:23:01.227 に答える
-2

これを試してください:

QueryBuilder<cart> qb = SQLConfig.cartDao.queryBuilder();
List<cart> mUpadateData = qb.where(cartDao.Properties.Product_sku.eq(skuApi)).list();
SQLConfig.cartDao.deleteInTx(mUpadateData);
于 2016-04-20T11:02:18.470 に答える