में डालने पर कोई मौजूदा लेनदेन नहीं है मेरे एंड्रॉइड एप्लिकेशन में मुझे विभिन्न थ्रेड से कई SQLite तालिकाओं में डेटा डालना होगा (एक टेबल में सम्मिलन के लिए एक थ्रेड और 5 टेबल हैं)।ऑपरेशन निष्पादित नहीं कर सकता क्योंकि डेटाबेस
मैं का उपयोग करें: ->setTransactionSuccessful()
- और हर धागे में>endTransaction();
सभी धागे एक साथ शुरू करते हैं, लेकिन दूसरे या कभी कभी तीसरे सूत्र में मैं हमेशा इस अपवाद मिला डेटा तो मैं का उपयोग beginTransaction()
के एक बहुत हैं एकल SQLite कनेक्शन (सिंगलटन) mentioned here था लेकिन फिर भी यह समस्या बनी हुई है। इसलिए मुझे कुछ मदद की उम्मीद है। पहले से धन्यवाद!
पीएस और यदि मेरे पास दौड़ की स्थिति है तो मैं बहुप्रचारित प्रविष्टि के लिए किस तरह से उपयोग करना चाहिए?
मैंने अपने उत्तर @AlexanderKaraberov में कुछ विचार जोड़े हैं। – Gray
एक कक्षा है (केवल एक डीएओ) जो कि वास्तविक डेटाबेस परिवर्तन करता है। फिर आपके धागे सिर्फ 'डालने()' या कुछ ऐसे कॉल करेंगे। विधि 'सिंक्रनाइज़' होगी और यह तय करेगा कि क्या मुझे लेनदेन शुरू करने की आवश्यकता है या नहीं, अगर यह पहले से शुरू नहीं हुआ था या लेनदेन समाप्त नहीं हुआ था। – Gray