如何在GreenDao中像"UPDATE table SET col1='val1'"一样更新数据?

3
我只是找不到如何仅更新几列的方法。
Table table = new Table(1);
table.setName("name111");

tableDao.update(table);

我理解的意思是:"UPDATE table SET name = 'name111' where id = 1"; 如何执行呢?
谢谢!

请点击此处查看:http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html - Sunil Kumar
当然我可以使用原始的SQL来完成,但是使用GreenDAO有什么意义呢? - Georg Kasmin
阅读此链接:http://greendao-orm.com/documentation/faq/ - Sunil Kumar
你能指给我相关的部分吗? - Georg Kasmin
你的实体在数据库中已经存在了吗?为了确保:先尝试进行选择,然后再进行修改和更新。 - AlexS
GreenDao的语法是什么?原始SQL很简单。 - Georg Kasmin
2个回答

2
只需将您要更新的行作为列表返回并循环遍历即可。
final List<Wine> wines = SQLiteOpen.wineDao.queryBuilder().where(WineDao.Properties.VintageId.eq(vintageId)).list();
for(Wine wine : wines) {
    wine.setWishlist(true);
    wine.update();
}

2
在Java字节码方面,没有快速迭代的情况下一次处理多行的机会吗? - A. Petrov
我会在SQL中简单地完成这个任务,并使用GreenDao属性来确保列名和属性名可以动态修改,而不会破坏硬编码的SQL。我在一个大型项目中成功地完成了这个任务。 - slott

-3

我只看到如何制作“SELECT”? - Georg Kasmin
http://androidvenkatkrishna.blogspot.in/2013/01/green-dao-implementation-in-android.html - Software Sainath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接