ormlite dao delete 函数不带参数

ormlite dao delete function not taking parameters

正在尝试从 table 中删除已构建应用程序中的所有记录。我有ormlite dao,功能看起来很简单

allUsers 有一组要删除的对象,但我得到一个异常:-

SQLException "java.sql.SQLException: Unable to run delete collection stmt: DELETE FROM user WHERE PIN IN ?,?,?,?,?,)

我尝试创建一个 ID 列表并使用另一个选项"deleteById"同样的错误

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

我只需要table被消灭

试一试

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

I tried creating a list of ids and using another option "deleteById" same error

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

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

I just need the table to be wiped out.

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

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

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

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