2012-08-24 13 views
24

मैं मैं अगर मैं आईडी द्वारा नहीं बल्कि नाम या किसी अन्य क्षेत्र से एक ही मेज से एक अभिलेख को नष्ट करने के लिए हैORMLITE से रिकॉर्ड कैसे हटाएं?

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

नीचे के रूप में उपयोग करते हुए, लेकिन क्या आईडी से एक रिकार्ड नष्ट कर सकते हैं ORMLite डाटाबेस से एक अभिलेख को नष्ट करने की जरूरत है मैं चाहता हूँ की तरह

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

कुछ क्या क्वेरी चाहिए मैं querybuilder का उपयोग कर लिखें रिकॉर्ड को हटाना जहां नाम = नाम और mealtype = कहना (दोपहर का भोजन)

मैं अपने databaseh में कुछ इस तरह की कोशिश की elper class

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) { 
     ... 
    } 
} 

उत्तर

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

अद्यतन:

उदाहरण के लिए:

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

गुड लक!

+0

@llya Demidove क्या आप कृपया इस बारे में विस्तार से विस्तार कर सकते हैं कि यह –

+0

आपके लिए स्पष्ट है?) –

0

कोई प्रश्न बनाने के लिए, आप आईडी खोजने के लिए चयन कर सकते हैं, फिर आईडी द्वारा हटाएं। यदि आपके पास पहले से ही इस तालिका के लिए चयनित क्वेरी सेट अप है तो Thsi सीधा होगा।

+0

मेरे पास इस तालिका के लिए फिर से चयन क्वेरी नहीं है, पहले मुझे चयन क्वेरी बनाना होगा, यह –

0

ऐसा नहीं है कि

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

की तरह भी किया जा सकता है आप Kotlin का उपयोग कर रहे हैं, तो आप कुछ इस तरह करने की आवश्यकता होगी बजाय प्रकार निष्कर्ष वर्तमान में धाराप्रवाह वाक्य रचना के लिए सही ढंग से काम नहीं कर रहा है के बाद से:

val deleteBuilder = dao.deleteBuilder() 
      val where = deleteBuilder.where().eq("address", address) 
      deleteBuilder.setWhere(where) 
      deleteBuilder.delete() 
संबंधित मुद्दे