如何从ORMLITE中删除记录?

Sou*_*ldi 26 android ormlite

我需要删除ORMLite数据库中的记录我可以通过id删除记录,如下所示

@Override
public void Delete(int id) throws SQLException {
    this.dao.deleteById(id);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我必须删除同一个表中的记录而不是id,而是通过名称或任何其他字段我想要的东西

public void Deletefromcanteen(String name,MealType mealtype) {
    this.dao.deletebyName(name);
}
Run Code Online (Sandbox Code Playgroud)

我应该使用querybuilder写什么查询来删除name = name和mealtype = say(午餐)的记录

我在databasehelper类中尝试过类似的东西

public  void deletefromcanteen(int id, String mealtype) {
    try {
        Dao<CanteenLog, Integer> canteenDao = getCanteen();
        DeleteBuilder<CanteenLog, Integer> deleteBuilder = canteenDao
                .deleteBuilder();
        deleteBuilder.where().eq("user_id", id).and().eq("meal", mealtype);
        canteenDao.delete(deleteBuilder.prepare());
    } catch (Exception e) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Ily*_*dov 73

deleteBuilder.where().eq("FIELD_NAME", arg);
deleteBuilder.delete();
Run Code Online (Sandbox Code Playgroud)

更新:

例如 :

//Get helper
DatabaseHelper helper = OpenHelperManager.getHelper(App.getContext(), DatabaseHelper.class);

//get dao
Dao dao = helper.getDao(YOUR_CLASS.class);

//delete elements from table in field by arg
DeleteBuilder<CanteenLog, Integer> deleteBuilder = dao.deleteBuilder();
deleteBuilder.where().eq("FIELD_NAME", arg);
deleteBuilder.delete();
Run Code Online (Sandbox Code Playgroud)

祝好运!