2012-08-24 19 views
7

Yerel Sqlite3 kullanan ve SqliteDataReader ağır kullanımını kullanan bir iOS uygulaması yüklemeye çalışıyorum. Hedef platformda SQLIte-Net (https://github.com/praeclarum/sqlite-net) kullanıyorum ve orada SqliteDataReader sınıfı yok. Bunu dönüştürmek için en iyi seçeneklerim nelerdir? okuyucunun kullanımı her zaman böyle kodudur:SqliteDataReader sqlite-net dosyasında nerede?

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

DataReader sınıfını neden ayrı olarak istiyorsunuz? Gönderdiğiniz kod çok iyi çalışıyor. 'OReader'' IDbDataReader' nesnesidir. THand – nawfal

+0

tarafından gönderilen ADO.NET sürümünü daha iyi kullanmanız ve okuyucuyu kullanmanız gerekmiyor.Kullanıcıyı – nawfal

+0

kağıdına sarmak istediğinizde kapandığım zaman - sadece bir soruyu başka bir açıklama ile SO üzerine yazdım. Yapmaya çalışıyorum - sorununuzu çözdünüz mü? http://stackoverflow.com/questions/21490426/sqlitedatareader-behavior-from-sqlite-for-windows-phone-8 – jchristof

cevap

1

sqlite-net ADO bağdaştırıcısı .net uygulaması olmadığı için sqlite-net'de IDataReader/IDataRecord uygulaması yoktur.

Önce GitHub sayfasındaki örnekleri kontrol etmelisiniz. Tanımlanmış here gibi SQL dili kullanmamalısınız. ADO imlementation gerekiyorsa, System.Data.SQLite (resmi), sqlite-csharp ve Mono.Data.Sqlite gibi C# için diğer SQLite kitaplıkları vardır.

2

Ive birkaç projelerde başarıyla System.Data.SQLite ADO adaptörü kullanılır. Bir SQLDataReader sınıfına sahip olduğuna inanıyorum. Yine de aynı uygulamadan sonra emin değilim.