2012-08-24 24 views
24

ben değil kimliğe göre ancak adı ya da başka alana göre aynı tablodan bir kaydı silmek zorunda kalırsamORMLITE sitesinden kayıt nasıl silinir?

@Override 
public void Delete(int id) throws SQLException { 
    this.dao.deleteById(id); 
} 

aşağıdaki gibi kullanarak ama ne id tarafından bir kaydı silebilirsiniz ORMLite veritabanından bir kaydı silmek gerekir istediğim

public void Deletefromcanteen(String name,MealType mealtype) { 
    this.dao.deletebyName(name); 
} 

gibi bir şey ne sorgu i kaydı silmek için QueryBuilder kullanarak yazma gereken yerde name = isim ve mealtype = demek (öğle)

benim databaseh böyle bir şey denedi elit sınıfı

cevap

67
deleteBuilder.where().eq("FIELD_NAME", arg); 
deleteBuilder.delete(); 

Güncelleme: Örneğin

:

//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(); 

İyi şanslar!

+0

@llya Demidove, imlementasyonu nasıl detaylandırırsınız? –

+0

bunun sizin için ne olduğunu açıklamalı mı?) –

0

Bir sorgu oluşturmayı kaydetmek için, kimliği bulmak için bir seçim yapabilir, ardından kimliğe göre silme işlemini yapabilirsiniz. Bu tablo için ayarlanmış bir sorgu sorgunuz varsa, Thsi basit olacaktır.

+0

Bu tablo için seçim sorgum yok, öncelikle seçim sorgusu oluşturmam gerekecek –

0

Size KOTLIN kullanıyorsanız, böyle bir şey yapmak gerekeceğini

DatabaseHelper.getInstance().getDao(YourObject.class).delete(yourObjectInstance); 
0

gibi de yapılabilir yerine tür kesmesi şu anda akıcı sözdizimi için düzgün çalışmıyor çünkü:

val deleteBuilder = dao.deleteBuilder() 
      val where = deleteBuilder.where().eq("address", address) 
      deleteBuilder.setWhere(where) 
      deleteBuilder.delete()