Android 如何使用ORMLite更新列
我已经为Android应用程序创建了一个数据库,我正在使用ORMLite查询SQLLite 我在类别中添加了一列,我想在该列中插入数据。 我有争吵Android 如何使用ORMLite更新列,android,sqlite,ormlite,Android,Sqlite,Ormlite,我已经为Android应用程序创建了一个数据库,我正在使用ORMLite查询SQLLite 我在类别中添加了一列,我想在该列中插入数据。 我有争吵 catId=5 catname="food" catType=? 我想在catId的基础上更新catType。如何使用ORMLite中的catId更新此catType列 我正在使用这种方法: Dao<Category, Integer> catDao = getHelper().getCategoryDao(); QueryBuilde
catId=5 catname="food" catType=?
我想在catId
的基础上更新catType
。如何使用ORMLite中的catId
更新此catType
列
我正在使用这种方法:
Dao<Category, Integer> catDao = getHelper().getCategoryDao();
QueryBuilder<Category, Integer> queryBuilder = catDao.queryBuilder();
queryBuilder.where().eq("categoryId", 5);
PreparedQuery<Category> pq = queryBuilder.prepare();
Category category = catDao.queryForFirst(pq);
category.setCategoryType("BarType");
catDao.createOrUpdate(category);
Dao catDao=getHelper().getCategoryDao();
QueryBuilder QueryBuilder=catDao.QueryBuilder();
queryBuilder.where().eq(“categoryId”,5);
PreparedQuery pq=queryBuilder.prepare();
类别=catDao.queryForFirst(pq);
类别。setCategoryType(“BarType”);
catDao.createOrUpdate(类别);
请给我一个更好的解决方案
我想在catId的基础上更新catType。如何使用ORMLite中的catId更新此CATYPE列
还支持。以下是您可以如何使用它:
UpdateBuilder<Category, Integer> updateBuilder = catDao.updateBuilder();
// set the criteria like you would a QueryBuilder
updateBuilder.where().eq("categoryId", 5);
// update the value of your field(s)
updateBuilder.updateColumnValue("catType" /* column */, "BarType" /* value */);
updateBuilder.update();
UpdateBuilder UpdateBuilder=catDao.UpdateBuilder();
//像QueryBuilder一样设置条件
updateBuilder.where().eq(“categoryId”,5);
//更新字段的值
updateBuilder.updateColumnValue(“catType”/*column*/,“BarType”/*value*/);
updateBuilder.update();
有关更多示例,请参见。Dao catDao=getHelper().getCategoryDao();
Dao<Category, Integer> catDao = getHelper().getCategoryDao();
List <Category> categoryList = catDao.queryForAll();
for (Category c: categoryList ) {
c.setCategoryType("BarType");
catDao.update(c);
}
List categoryList=catDao.queryForAll();
用于(c类:类别列表){
c、 setCategoryType(“BarType”);
更新(c);
}
这一个有什么问题?njzk2速度较慢,因为它执行2个数据库操作,而不是1个对同一实体(但在不同字段上)的并发更新可能会相互覆盖。