2012-08-24 10 views
7

मैं एक आईओएस एप्लिकेशन पोर्ट करने की कोशिश कर रहा हूं जो देशी स्क्लाइट 3 का उपयोग करता है और SqliteDataReader का भारी उपयोग करता है। लक्ष्य प्लेटफ़ॉर्म पर मैं SQLIte-Net (https://github.com/praeclarum/sqlite-net) का उपयोग करता हूं और वहां SqliteDataReader क्लास मौजूद नहीं है। इसे बदलने के लिए मेरे सर्वोत्तम विकल्प क्या हैं? पाठक का उपयोग इस तरह हमेशा कोड है:SQLite-net में SqliteDataReader कहां है?

SqliteConnection oConn = AppDelegateBase.MasterDatabase.CreateDBMSConnection(); 
using (SqliteCommand oCmd = new SqliteCommand ("SELECT * FROM ATable"), oConn)) 
using (var oReader = oCmd.ExecuteReader ()) 
{ 
    while (oReader.Read ()) 
    { 
    int val = Convert.ToInt32(oReader["someColumn"]); 
    } 
    oReader.Close(); 
} 
+0

आप डेटा रीडर वर्ग को अलग से क्यों चाहते हैं? आपके द्वारा पोस्ट किया गया कोड बहुत अच्छा काम करता है। 'OReader' आपकी' IDbDataReader' ऑब्जेक्ट है। टीएचएंड – nawfal

+0

द्वारा पोस्ट किए गए ADO.NET संस्करण का बेहतर उपयोग करें और आपको पाठक की आवश्यकता नहीं है। जब आप इसे एक प्रयोग खंड – nawfal

+0

में लपेटते हैं तो बंद करें। मैं एक ही नाव पर हूं - बस मैंने एक ' मैं करने की कोशिश कर रहा हूँ - क्या आपने अपनी समस्या हल की? http://stackoverflow.com/questions/21490426/sqlitedatareader-behavior-from-sqlite-for-windows-phone-8 – jchristof

उत्तर

1

एसक्लाइट-नेट में कोई IDataReader/IDataRecord कार्यान्वयन नहीं है, क्योंकि sqlite-net एडीओ एडाप्टर .NET कार्यान्वयन नहीं है।

आपको पहले गिटहब पेज पर उदाहरणों की जांच करनी चाहिए। आपको SQL भाषा का उपयोग नहीं करना चाहिए, जैसे वर्णित here। यदि आपको एडीओ इम्प्लेमेंटेशन की आवश्यकता है, तो सी # के लिए अन्य SQLite लाइब्रेरी हैं, जैसे System.Data.SQLite (आधिकारिक), sqlite-csharp और मोनो। डेटा .क्लाइट।

2

Ive कुछ परियोजनाओं में सफलतापूर्वक System.Data.SQLite एडीओ अनुकूलक का इस्तेमाल किया। मेरा मानना ​​है कि इसमें एक SQLDataReader क्लास है। मुझे यकीन नहीं है कि क्या यह वही कार्यान्वयन है जो आप बाद में हैं।