2013-07-04 22 views
3

我只是無法找到如何只更新幾列。如何更新像「UPDATE表SET col1 ='val1'」在GreenDao

Table table = new Table(1); 
table.setName("name111"); 

tableDao.update(table); 

我的理解是:「UPDATE table SET name = 'name111' where id = 1」;

怎麼辦?

謝謝!

+0

http://developer.android.com/reference/android/database/ sqlite/SQLiteDatabase.html試試這裏 –

+0

當然,我可以做到原始SQL,但使用greendao有什麼意義? –

+0

閱讀本文http://greendao-orm.com/documentation/faq/ –

回答

-3

剛剛經歷文檔here

+0

我只看到如何做一個「選擇」? –

+0

http://androidvenkatkrishna.blogspot.in/2013/01/green-dao-implementation-in-android.html –

3

只是返回要更新作爲對他們的列表和循環的行

final List<Wine> wines = SQLiteOpen.wineDao.queryBuilder().where(WineDao.Properties.VintageId.eq(vintageId)).list(); 
for(Wine wine : wines) { 
    wine.setWishlist(true); 
    wine.update(); 
} 
+1

在java-bytecode方面沒有緩慢迭代的情況下,沒有機會在一個步驟中對多行做同樣的事情? – StAlex

+0

我只是簡單地在SQL中執行此操作,並使用GreenDao屬性來確保列名和屬性名稱可以動態修改,而不會使硬編碼SQL煞車。我在一個巨大的項目中取得了巨大的成功。 – slott