在MonoTouch中正確而簡單的使用 Sqlite 資料庫

來源:互聯網
上載者:User

iOS 提供了 Sqlite 作為本機資料庫, MonoTouch 同樣也提供了 Mono.Data.Sqlite 對 Sqlite 進行了封裝。 與 Objective-c 使用 Sqlite 資料庫相比, 使用 MonoTouch 進行 Sqlite 資料訪問可以很簡單,  先來瀏覽一下 Mono.Data.Sqlite 提供的類庫, 有這麼幾個重要的類, 它們是:

  • SqliteConnection , 繼承自 System.Data.Common.DbConnection;
  • SqliteCommand , 繼承自 System.Data.Common.DbCommand ;
  • SqliteDataAdapter , 繼承自 System.Data.Common.DbDataAdapter ;
  • SqliteDataReader , 繼承自 System.Data.Common.DbDataReader ;
  • SqliteFactory , 繼承自 System.Data.Common.DbProviderFactory ;
  • SqliteParameter , 繼承自 System.Data.Common.DbParameter ;
  • SqliteTransaction , 繼承自 System.Data.Common.DbTransaction ;

如果對這些以 Sqlite 開頭的類不熟悉的話, 情有可原, 可對 System.Data.Common 下面的類應該再熟悉不過了吧, 沒錯, 這就是標準的 ADO.Net , 因此只要會 ADO.Net 的開發人員, 幾乎可以立即上手, 這正是 MonoTouch 對 .Net 開發人員提供的價值所在。 來看一段下面的代碼:

using (var connection = SqliteFactory.Instance.CreateConnection()) {   connection.ConnectionString = string.Format("data source={0}/northwind.db3; version=3;", Environment.CurrentDirectory);   var command = connection.CreateCommand();   command.Connection = connection;   command.CommandText = "SELECT * FROM Products WHERE CategoryID = ?";   var parameter = command.CreateParameter();   parameter.Value = "1";   command.Parameters.Add(parameter);   connection.Open();   var reader = command.ExecuteReader(CommandBehavior.CloseConnection);   while (reader.Read()) {      // use reader's data here ...   }}

這段代碼很普通, 除了使用了一個 SqliteFactory 之外, 和 ado.net 資料訪問幾乎沒有什麼區別, 但是, 從這段代碼可以看出, 我們項目原有的代碼幾乎可以原封不動的拿到 MonoTouch 進行編譯,  相信很多人都有自己對 ado.net 的封裝, 如果有了 MonoTouch , 這些封裝可以很方便的移植到 MonoTouch 下。

最後不得不說一句, 對於 .Net 開發人員來說, MonoTouch 真的是一個好東西, 它可以讓你儘快加入到 ios 的開發中, 最大限度的將你的 .net 技能延伸到 ios 。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.