如何用ORMLite更新列

我有一个已经创build的Android应用程序数据库,我正在使用ORMLite查询到SQLLite。

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

catId=5 catname="food" catType=? 

我想根据catId更新catId 。 我怎样才能更新这个catType列与catId中的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); 

请给我一个更好的解决scheme。

Related of "如何用ORMLite更新列"

我想根据catId更新catType。 我怎样才能更新这个catType列与ORIDite中的catId。

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

 Dao<Category, Integer> catDao = getHelper().getCategoryDao(); List <Category> categoryList = catDao.queryForAll(); for (Category c: categoryList ) { c.setCategoryType("BarType"); catDao.update(c); }