删除 Sugar ORM 数据库 table 条记录
Delete Sugar ORM database table records
我有一个带有一些名称和 url 的列表视图。在我的应用程序启动后,我检查我的本地数据库中是否有任何记录。因此,如果有,首先清除我的旧记录,然后用列表视图数据填充 table 列,如果不只是插入数据……我就是这样做的:
List<LocalProduct> allAuthors = LocalProduct.listAll(LocalProduct.class);
if (allAuthors == null) {
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}else {
/*
SugarContext.terminate();
SchemaGenerator schemaGenerator = new SchemaGenerator(getContext());
schemaGenerator.deleteTables(new SugarDb(getContext()).getDB());
SugarContext.init(getContext());
schemaGenerator.createDatabase(new SugarDb(getContext()).getDB());
*/
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}
我的代码的注释区域将删除并重新创建 tables,这每次都会导致延迟...我怎样才能删除我的记录!?
为什么完全删除 table 并重新创建它。因为 Suger orm 支持批量删除然后将其与后台线程一起使用。
勾选here
重置记录:
LocalProduct.deleteAll(LocalProduct.class);
重置自动增量计数器:
LocalProduct.executeQuery("DELETE FROM SQLITE_SEQUENCE WHERE NAME = '" + tableName + "'");
我有一个带有一些名称和 url 的列表视图。在我的应用程序启动后,我检查我的本地数据库中是否有任何记录。因此,如果有,首先清除我的旧记录,然后用列表视图数据填充 table 列,如果不只是插入数据……我就是这样做的:
List<LocalProduct> allAuthors = LocalProduct.listAll(LocalProduct.class);
if (allAuthors == null) {
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}else {
/*
SugarContext.terminate();
SchemaGenerator schemaGenerator = new SchemaGenerator(getContext());
schemaGenerator.deleteTables(new SugarDb(getContext()).getDB());
SugarContext.init(getContext());
schemaGenerator.createDatabase(new SugarDb(getContext()).getDB());
*/
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}
我的代码的注释区域将删除并重新创建 tables,这每次都会导致延迟...我怎样才能删除我的记录!?
为什么完全删除 table 并重新创建它。因为 Suger orm 支持批量删除然后将其与后台线程一起使用。
勾选here
重置记录:
LocalProduct.deleteAll(LocalProduct.class);
重置自动增量计数器:
LocalProduct.executeQuery("DELETE FROM SQLITE_SEQUENCE WHERE NAME = '" + tableName + "'");