如何使用ORMLite更新列

khu*_*oid 18 sqlite android ormlite

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

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

catId=5 catname="food" catType=?
Run Code Online (Sandbox Code Playgroud)

我想catType在此基础上更新catId.如何catType使用catIdin ORMLite 更新此列.

我正在使用这种方法:

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);
Run Code Online (Sandbox Code Playgroud)

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

Gra*_*ray 69

我想基于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();
Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅UpdateBuilder文档.

  • 优秀:-)必须标记为正确答案 (4认同)