19

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

我在类别中添加了一列,我想在该列中插入数据。我有行,例如

catId=5 catname="food" catType=?

我想catTypecatId. 如何使用ORMLite 中catType的更新此列。catId

我正在使用这种方法:

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);

请给我一个更好的解决方案。

4

2 回答 2

71

我想在catId的基础上更新catType。如何使用 ORMLite 中的 catId 更新此 catType 列。

ORMLite还支持UpdateBuilder. 以下是您可以使用它的方法:

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文档

于 2012-09-21T12:33:49.547 回答
4
Dao<Category, Integer> catDao = getHelper().getCategoryDao();
List <Category> categoryList = catDao.queryForAll();
for (Category c: categoryList ) {
    c.setCategoryType("BarType");
    catDao.update(c);
}
于 2014-04-02T12:08:42.180 回答