मैं FMDB रैपर क्लास के लिए डेटाबेस ओपन और क्लोज ऑपरेशन के बारे में उलझन में हूं।
अगर मैं डेटाबेस खोलता हूं तो क्या यह समस्या पैदा कर रहा है ApplicationDidFinishLading AppDelegate वर्ग की विधि और तब तक बंद न करें जब तक आवेदन समाप्त नहीं होगा?
धन्यवाद।
उत्तर:
जवाब के लिए 5 № 1आधिकारिक FMDB प्रलेखन से:
प्रारंभिक
इससे पहले कि आप डेटाबेस के साथ बातचीत कर सकें, इसे खोला जाना चाहिए। यदि डेटाबेस को खोलने और / या बनाने के लिए अपर्याप्त संसाधन या अनुमति हैं, तो उद्घाटन विफल रहता है।
if (![db open]) {
[db release];
return;
}
समापन
जब आप डेटाबेस पर प्रश्नों और अद्यतनों को निष्पादित करना समाप्त कर लेते हैं, आपको FMDatabase कनेक्शन को बंद कर देना चाहिए ताकि SQLite अपने संचालन के दौरान हासिल किए गए किसी भी संसाधन को त्याग देगा।
[db close];
इसलिए, हर बार जब डेटाबेस से आपकी क्वेरी होगी, तो आपके पास एक जोड़ी होनी चाहिए open
तथा close
आपके डेटाबेस पर कॉल करता है।
संक्षेप में, जब आप डेटाबेस से चीजों की आवश्यकता करते हैं तो एक DB कनेक्शन खोलें और डेटाबेस का उपयोग करते समय इसे बंद करें।
प्रलेखन से लिंक करें: https://github.com/ccgus/fmdb
उत्तर के लिए 7 № 2
जब तक आप स्कीमा नहीं बदलते हैं, तब तक इसे बंद करने का कोई कारण नहीं है।