在MonoTouch中正确而简单的使用 Sqlite 数据库

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 开发人员提供的价值所在。 来看一段下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 。

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/

本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2011/08/30/2159448.html ,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值