我需要删除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)
祝好运!
| 归档时间: |
|
| 查看次数: |
21338 次 |
| 最近记录: |