Ormlite DAO删除功能不带参数

时间:2019-06-18 05:29:09

标签: android ormlite

尝试从已构建的应用程序的表中删除所有记录。我有ormlite dao,并且功能似乎非常简单

allUsers包含要删除的对象的集合,但出现异常:-

  

SQLException   “ java.sql.SQLException:无法运行删除集合stmt:从userPIN在?,?,?,?,?,?,)中删除

我尝试创建ID列表,并使用另一个选项“ deleteById”出现相同错误

Collection<UserModel> allUsers = helper.getUserDao().queryForAll(); helper.getUserDao().delete(allUsers);

我只需要擦桌子。

2 个答案:

答案 0 :(得分:1)

尝试

helper.getUserDao().deleteBuilder().where().eq($yourKey, $yourValue).delete()

答案 1 :(得分:0)

  

我尝试创建ID列表,并使用另一个选项“ deleteById”出现相同错误

Collection<UserModel> allUsers = helper.getUserDao().queryForAll();
helper.getUserDao().delete(allUsers);

我不确定为什么这行不通。如果显示更多异常,则可能有Caused by部分异常提供了更多详细信息。可能是UserModel没有ID字段?

  

我只需要擦桌子。

有两种方法可以做到这一点。最有效的方法是使用TableUtils.clearTable(...)

TableUtils.clearTable(header.getUserDao().getConnectionSource(), UserModel.class);

也可以使用DeleteBuilder删除所有元素:

helper.getUserDao().deleteBuilder().delete();