我已经为Android应用程序创建了一个数据库,我正在使用ORMLite来查询SQLLite。
我在类别中添加了一列,我想在该列中插入数据。 我有排,例如
catId=5 catname="food" catType=?
我想在catType
的基础上更新catId
。如何使用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);
请为我提供更好的解决方案。
答案 0 :(得分:68)
我想在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
docs。
答案 1 :(得分:3)
Dao<Category, Integer> catDao = getHelper().getCategoryDao();
List <Category> categoryList = catDao.queryForAll();
for (Category c: categoryList ) {
c.setCategoryType("BarType");
catDao.update(c);
}