2013-12-10 2 views
13

मैं https://github.com/oysteinkrog/SQLite.Net-PCLSQLiteAsyncConnection का उपयोग SQLite के async पीसीएल संस्करण से कैसे करें?

से Sqlite.net का एक पीसीएल संस्करण का उपयोग कर रहा हूं हालांकि, मैं डीबी कनेक्शन सेटअप प्राप्त करने में असमर्थ हूं। SQliteAsyncConnection मूल संस्करण के विपरीत एक स्ट्रिंग (डीबी के लिए पथ) नहीं लेता है, लेकिन [Func< SQLiteConnectionWithLock>.]2

इसका उपयोग कैसे किया जा सकता है? सामान्य में: इस पुस्तकालय का उपयोग कैसे करें? मेरे पास कोर पीसीएल लिब है जो मेरे आईओएस, एंड्रॉइड और डब्ल्यूपी 8 परियोजनाओं से सभी व्यावसायिक तर्क करता है। मेरी समझ यह थी कि मैं अपने पीसीएल lib में स्क्लाइट-नेट असिंक पीसीएल को छोड़ सकता हूं। लेकिन ऐसा लगता है कि मुझे इसे काम करने के लिए कुछ मंच विशिष्ट सामान प्रदान करना है।

उत्तर

25

आपको केवल एक ऐसा फ़ंक्शन बनाना होगा जो SQLiteConnectionWithLock लौटाए और SQLiteAsyncConnection कन्स्ट्रक्टर को पास कर दें।

string databasePath = "path"; 
var connectionFactory = new Func<SQLiteConnectionWithLock>(()=>new SQLiteConnectionWithLock(new SQLitePlatformWinRT(), new SQLiteConnectionString(databasePath, storeDateTimeAsTicks: false))); 
var asyncConnection = new SQLiteAsyncConnection(connectionFactory); 
+1

'SQLitePlatformWinRT' कहां से आता है? अलग पैकेज? क्या यह WP8 के लिए भी काम करता है/क्या कोई कार्यान्वयन है? – Krumelur

+0

मैंने आपके प्रश्न में WinRT और WP8 को मिश्रित किया। 'SQLitePlatformWP8CSharp'' SQLite.Net.Platform.WindowsPhone8.CSharpSqlite' नेमस्पेस – Johnbot

+0

में कोड में कोई त्रुटि नहीं है लेकिन डेटाबेस नहीं बनाया गया है। क्यूं कर? –

2

मुझे इसके साथ भी समस्याएं आई हैं। जॉनबॉट के उत्तर को पूरा करने के लिए जो सही है, मैं जोड़ रहा हूं कि मैंने इस पुस्तकालय का उपयोग कैसे किया है और इसे काम करने के लिए मिला है। मैं वास्तव में NuGet संकुल को समझ नहीं पाया, इसलिए मैंने इसे मैन्युअल रूप से किया।

  1. डाउनलोड परियोजना https://github.com/oysteinkrog/SQLite.Net-PCL

  2. लोड VS2015 में समाधान, के लिए मोड जारी करने और DLLs बनाने के लिए सेट करें:

क) SQLite.Net

ख) SQLite.Net.Async

सी) SQLit e.Net.Platform.WinRT जो विंडोज 10 सार्वभौमिक ऐप्स के लिए है, या जिस प्लेटफॉर्म की आपको आवश्यकता है।

सुनिश्चित करें कि आपके पास अपनी परियोजना में ये संदर्भ हैं। युनिवर्सल ऐप्लिकेशन के लिए

references

SQLite वी.एस. उपकरण/एक्सटेंशन और अपडेट से स्थापित किया गया है। एक बार स्थापित होने पर इसे विज़ुअल सी ++ 2015 के साथ यूनिवर्सल विंडोज/एक्सटेंशन के तहत संदर्भित किया जाता है, जिसे भी आवश्यक है।

शुभकामनाएं!

+0

क्या मुझे WinRT प्लेटफॉर्म होना चाहिए?मैं केवल एंड्रॉइड की ओर विकसित करना चाहता हूं और आईओएस –

+0

समय बढ़ गया है और अब मैं केवल एसक्यूलाइट.Net-PCL का उपयोग करता हूं, अब मैं स्क्लाइट एसिंक कॉल का उपयोग नहीं करता हूं, लेकिन यदि आवश्यक हो तो सी # में एसिंक फ़ंक्शन बनाएं। क्षमा करें लेकिन मैं अभी तक आईओएस और एंड्रॉइड के लिए कोडिंग नहीं कर रहा हूं, उम्मीद है कि इससे मदद मिलती है; – peterincumbria

संबंधित मुद्दे