फ़ाइल आधारित डेटाबेस (या संलग्न डेटाबेस फ़ाइलें) के साथ यह एक सामान्य परिदृश्य है
आपकी कनेक्शन स्ट्रिंग किसी भी पथ का उपयोग किए बिना डेटाबेस को संदर्भित करती है।
इसका अर्थ है कि आपका डेटाबेस उसी निर्देशिका में स्थित है जहां आपका एप्लिकेशन चलता है .
आपको डेटा डालने, संशोधित करने या हटाने में कोई समस्या नहीं है, लेकिन जब आप किसी Visual Studio डीबग सत्र के अंदर से ऐप को पुनरारंभ करते हैं तो आप सब कुछ खो देते हैं।
अब, यदि आप अपनी प्रोजेक्ट फाइलों को देखते हैं तो संभवतः आपके पास अन्य फाइलों के बीच सूचीबद्ध डेटाबेस फाइल है। इस डेटाबेस फ़ाइल के गुणों के बीच आप संपत्ति देखेंगे Copy to the Output directory
और इसका मान Copy Always
. पर सेट है .
इसका मतलब यह है कि हर बार जब आप विजुअल स्टूडियो वातावरण के अंदर से अपने एप्लिकेशन को पुनरारंभ करते हैं तो उस फ़ाइल को प्रोजेक्ट फ़ोल्डर से आउटपुट निर्देशिका (आमतौर पर BIN \ DEBUG या BIN \ x86 \ DEBUG) में कॉपी किया जाता है, लेकिन यह पिछले रन हटाने में उपयोग किए गए डेटाबेस को नष्ट कर देता है डाला गया डेटा संशोधित या हटाया गया
संपत्ति बदलें Copy to the Output directory
करने के लिए Copy Never
या Copy if Newer
हालांकि Copy If Newer
एमएस-एक्सेस के साथ एक और समस्या प्रस्तुत करता है। यदि आप विजुअल स्टूडियो की सर्वर कनेक्शन विंडो का उपयोग करके एक्सेस ओ का उपयोग करके अपनी प्रोजेक्ट निर्देशिका में स्थित डेटाबेस फ़ाइल खोलते हैं तो फ़ाइल को तुरंत संशोधित किया जाता है, यदि आप कुछ भी नहीं बदलते हैं और इस प्रकार प्रतिलिपि यदि नया आउटपुट निर्देशिका में प्रतिलिपि निष्पादित करेगापी>