2012-08-24 56 views
7

我正嘗試移植使用本機Sqlite3的iOS應用程序,並大量使用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

爲什麼要分開DataReader類?你發佈的代碼工作得很好。 'oReader'是你的'IDbDataReader'對象。更好地使用tHand發佈的ADO.NET版本 – nawfal

+0

而你不需要讀者。關閉時,你在包裝它使用條款 – nawfal

+0

我是同一條船 - 只是張貼在SO上的查詢與進一步的解釋,米試圖做 - 你解決了你的問題? http://stackoverflow.com/questions/21490426/sqlitedatareader-behavior-from-sqlite-for-windows-phone-8 – jchristof

回答

1

sqlite-net中沒有IDataReader/IDataRecord實現,因爲sqlite-net不是ADO適配器.net實現。

您應該首先檢查GitHub頁面上的示例。你不應該使用SQL語言,如描述here。如果你需要使用ADO,還有其他用於C#的SQLite庫,比如System.Data.SQLite(官方),sqlite-csharp和Mono.Data.Sqlite。

2

香港專業教育學院成功地運用了System.Data.SQLite ADO適配器中的幾個項目。我相信它有一個SQLDataReader類。林不知道,如果它是相同的實施,但你後。