ActiveAndroid Update()查询

jlh*_*ora 11 android activeandroid android-sqlite

我正在尝试使用ActiveAndroid对列进行批量更新.这是我的代码:

new Update(SomeModel.class).set("Enabled = 0").execute();
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个StackOverflowError.(编辑:我的不好,错误是在其他地方).有谁知道如何执行Update()查询?它在ActiveAndroid的wiki中没有说什么.

编辑:

这个语法是正确的:

new Update(SomeModel.class)
  .set("Enabled = 0")
  .where("Account = ?", account.getId())
  .execute();
Run Code Online (Sandbox Code Playgroud)

where如果不需要,您可以跳过.

jlh*_*ora 18

这个语法是正确的:

new Update(SomeModel.class)
  .set("Enabled = 0")
  .where("Account = ?", account.getId())
  .execute();
Run Code Online (Sandbox Code Playgroud)

如果不需要,您可以跳过.

  • @Hamzeh 是的,这也有效 (2认同)

Jus*_*tin 11

基于AndroidActive的github:"save方法适用于插入和更新记录."
因此,如果要更新项目,首先必须从数据库中读取它,然后修改它,最后再次保存.
例如:

Foo for = Foo.load(Foo.class, 1);//1 is the id
foo.bar = "new value";
foo.save();
Run Code Online (Sandbox Code Playgroud)