gpt4 book ai didi

android - 使用 DBFlow 更新整个对象

转载 作者:太空狗 更新时间:2023-10-29 14:42:16 24 4
gpt4 key购买 nike

我在我的 Android 项目中使用 DBFlow,我想知道是否有一种方法可以更新整个对象而不是如下所示指定每一列

// Native SQL wrapper
SQLite.update(Ant.class)
.set(Ant_Table.type.eq("other"))
.where(Ant_Table.type.is("worker"))
.and(Ant_Table.isMale.is(true))
.async()
.execute(); // non-UI blocking

来自指南 https://agrosner.gitbooks.io/dbflow/content/SQLiteWrapperLanguage.html

更新的“设置”部分支持不同类型的值:

  1. ContentValues -> 作为 is()/eq() 的 SQLOperator 转换为键/值
  2. SQLOperator,它们组合在一起作为 SET 语句的一部分。

基于此,我尝试在set方法中传入一个ContentValues

// Native SQL wrapper
SQLite.update(Ant.class)
.set(contentValues)
.where(Ant_Table.type.is("worker"))
.and(Ant_Table.isMale.is(true))
.async()
.execute(); // non-UI blocking

我得到一个编译错误

set (com.raizlabs....SQLOperator...) in Update cannot be applied 
to (android.content.ContentValues)

最佳答案

你需要这样调用它:

SQLite.update(Ant.class)
.set().conditionValues(contentValues)
.where(Ant_Table.type.is("worker"))
.and(Ant_Table.isMale.is(true))
.async()
.execute();

文档和源代码都不清楚,但它应该以这种方式工作。

关于android - 使用 DBFlow 更新整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077153/

24 4 0
文章推荐: php -