2012-06-14 16 views
5
में ormlite डेटाबेस तालिका में सभी स्तंभों

मैं निम्नलिखित डेटाबेस तालिका वस्तु हैअद्यतन एंड्रॉयड

public class Goal { 
    @DatabaseField(generatedId = true) 
    private int id; 
    @DatabaseField 
    private String goal_title; 
    @DatabaseField 
    private String goal_desc; 
    @DatabaseField 
    private String goal_why; 
    ... 
} 

मैं कुछ पंक्तियाँ इस तालिका में शामिल किया है और अब मैं एक के सभी स्तंभों को अद्यतन करने के एक प्रश्न लिखना चाहते हैं इस तालिका में पंक्ति। मैंने ओआरएम के दस्तावेज को देखा है और इस सवाल को लिखने का विचार नहीं मिला। कृपया इस प्रश्न को लिखने में मेरी सहायता करें।

उत्तर

17

मुझे लगता है कि आपको आरटीएफएम की आवश्यकता है। मैंने ORMLite दस्तावेज पर एक लंबा समय बिताया है और मुझे लगता है कि यह covers the UpdateBuilder बहुत अच्छी तरह से है। अधिक विशिष्ट प्रश्न पूछने के लिए स्वतंत्र महसूस करें और यदि नहीं, तो मैं अधिक जानकारी जोड़ सकता हूं।

डॉक्स से उद्धृत करने के लिए:

डीएओ भी कस्टम अद्यतन का निर्माण और बयानों को हटाने के लिए इस्तेमाल किया जा सकता। अपडेट स्टेटमेंट्स का उपयोग तालिका से पंक्तियों में पंक्तियों में कुछ फ़ील्ड को बदलने के लिए किया जाता है जो WHERE पैटर्न से मेल खाते हैं - या सभी पंक्तियों को अपडेट करें यदि कोई नहीं()। हटाएं कथन का उपयोग तालिका से पंक्तियों को हटाने के लिए किया जाता है जो WHERE पैटर्न से मेल खाते हैं - या सभी पंक्तियों को हटाएं यदि कोई नहीं()।

UpdateBuilder<Goal, Integer> updateBuilder = goalDao.updateBuilder(); 
// update the goal_title and goal_why fields 
updateBuilder.updateColumnValue("goal_title", "some other title"); 
updateBuilder.updateColumnValue("goal_why", "some other why"); 
// but only update the rows where the description is some value 
updateBuilder.where().eq("goal_desc", "unknown description"); 
// actually perform the update 
updateBuilder.update(); 

आशा इस मदद करता है:

अपने Goal वस्तु का उपयोग करने के उदाहरण कोड थोड़े बदलाव के लिए।

+0

आपकी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद और मैंने अभी इस कोड को आजमाया है, लेकिन यह अंतिम पंक्ति updateBuilder.update() पर एक त्रुटि दे रहा है, अद्यतन अद्यतन प्रकार के लिए अद्यतन विधि मौजूद नहीं है। दो अन्य विधियां अपडेट हैं CollumnExpression और UpdateColumnValue, लेकिन अद्यतन विधि नहीं। अगर आपको मेरी समस्या मिलती है तो कृपया मदद करें। धन्यवाद फिर से – Munazza

+0

जो संस्करण 4.34 में जोड़ा गया था। यह 'targetDao.update (updateBuilder.prepare()) के लिए छोटा हाथ है;' – Gray

+0

targetDao.update (updateBuilder.prepare()); यह भी काम नहीं कर रहा है :(, और फिर एक त्रुटि दे रहा है कि यह टाइप अपडेटबिल्डर के लिए अपरिभाषित है। मेरे पास ormlite 4.30 है, क्या मुझे 4.34 का उपयोग करना चाहिए? – Munazza