जब मैं प्रकाशित करने का प्रयास करता हूं तो सी # SQLite काम नहीं करता है

I am trying to build a small application that will have an embedded database.For that I used SQLite. The program works fine when I debugg-it in Visual C# 2010 express but when i publish it and try to run it it gives me the following error: Unhandled exception has occured in your application..... strong SQLite Error no such table:

मैं वास्तव में समझ में नहीं आता क्योंकि प्रकाशित होने पर यह ठीक काम करता है .... कोई भी मदद बहुत ही सराहनीय होगी धन्यवाद

0
जोड़ा संपादित
विचारों: 1
क्या आपका एप्लिकेशन फ्लाई पर डेटाबेस फ़ाइल बनाता है, या क्या यह मौजूदा का उपयोग करता है?
जोड़ा लेखक Idan Arye, स्रोत
मैं System.Data.SQLite.dll का उपयोग कर रहा हूँ
जोड़ा लेखक Tzutzu Suntzutzu, स्रोत
यह एक मौजूदा का उपयोग करता है। मैंने फ़ाइल को सुविधा के लिए डीबग फ़ोल्डर में स्थानांतरित कर दिया ... मैंने कमांड लाइन का उपयोग करके अपना डेटाबेस बनाया। बनाई गई फ़ाइल में कोई एक्सटेंशन नहीं था इसलिए मैंने इसे .db जोड़ा। यह संपादक में एक ही त्रुटि दे रहा था जब तक कि मैं मंच पर पढ़ता हूं कि मुझे एक app.config फ़ाइल जोड़ने की आवश्यकता है और इसके बाद यह काम करता है। App.config फ़ाइल निम्नानुसार है: <�समर्थित रनटाइम संस्करण = "v4.0" sku = ".NETFramework, संस्करण = v4.0" /> </कॉन्फ़िगरेशन >
जोड़ा लेखक Tzutzu Suntzutzu, स्रोत
आप किस SQLite लाइब्रेरी का उपयोग करते हैं?
जोड़ा लेखक flo, स्रोत

1 उत्तर

SQLite जब कहता है कि ऐसे प्रोग्राम में ऐसी तालिका नहीं है जो विकास मशीन पर ठीक काम कर रही है, तो सुनिश्चित करें कि यह सही डेटाबेस से कनेक्शन बना रहा है।

SQLite में यदि यह कोड-निर्दिष्ट स्थान पर डेटाबेस नहीं ढूंढ पाता है, तो यह वहां एक बना देगा। इसका आकार 0 केबी होगा। यह उस डेटाबेस को भी खोल देगा। जब समस्या से डेटा प्राप्त किया जाता है तो समस्या उत्पन्न होती है।

फिर यह यह त्रुटि देता है। अपने कोड में क्या गलत है यह जांचने के लिए कुछ संदेश बॉक्स/डीबगर का उपयोग करें।

0
जोड़ा
समझ गया! मैं इसलिए था क्योंकि मैंने पूर्ण के बजाय एक सापेक्ष पथ का उपयोग किया था ... यह अब मेरे कंप्यूटर पर काम करता है लेकिन मुझे आश्चर्य है कि यह काम करेगा जब मैं इसे अन्य कंप्यूटरों पर स्थापित करने का प्रयास करता हूं ... क्या मुझे मैन्युअल रूप से एक नया फ़ोल्डर बनाना होगा (मेरे कंप्यूटर में जैसा ही) ... यह स्वचालित रूप से नहीं किया जाना चाहिए ...? आपकी प्रतिक्रिया के लिए सभी को धन्यवाद!
जोड़ा लेखक Tzutzu Suntzutzu, स्रोत
@TzutzuSuntzutzu: कोड में किसी भी पथ को हार्ड कोड कभी नहीं। ऐप में मौजूद फ़ोल्डर प्राप्त करने के लिए Directory.GetCurrentDirectory() विधि का उपयोग करें। इसके अलावा पथ को गठबंधन करने के लिए Path.Combine का उपयोग करें।
जोड़ा लेखक Nikhil Agrawal, स्रोत
हां, यह देखने के लिए जांचें कि क्या डेटाबेस फ़ाइल है और कनेक्शन स्ट्रिंग सही है या नहीं। हो सकता है कि आपने अपने इंस्टॉल पैकेज में डेटाबेस फ़ाइल शामिल नहीं की हो? या, हो सकता है कि आप यह जांचना चाहें कि डेटाबेस खोलने से पहले फ़ाइल मौजूद है या नहीं, यदि आप एक नई डेटाबेस फ़ाइल बना रहे हैं तो टेबल बनाएं?
जोड़ा लेखक toby, स्रोत