如何使用ORMLite更新列

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

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

catId=5 catname="food" catType=? 

我想基于catId更新catId 。 如何使用catId中的catId更新此catType列。

我正在使用这种方法:

 Dao catDao = getHelper().getCategoryDao(); QueryBuilder queryBuilder = catDao.queryBuilder(); queryBuilder.where().eq("categoryId", 5); PreparedQuery pq = queryBuilder.prepare(); Category category = catDao.queryForFirst(pq); category.setCategoryType("BarType"); catDao.createOrUpdate(category); 

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

Solutions Collecting From Web of "如何使用ORMLite更新列"

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

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

 UpdateBuilder 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 catDao = getHelper().getCategoryDao(); List  categoryList = catDao.queryForAll(); for (Category c: categoryList ) { c.setCategoryType("BarType"); catDao.update(c); }