Android 如何使用ORMLite更新列

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

我已经为Android应用程序创建了一个数据库,我正在使用ORMLite查询SQLLite

我在类别中添加了一列,我想在该列中插入数据。 我有争吵

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个对同一实体(但在不同字段上)的并发更新可能会相互覆盖。