使用SQLite开发ASP.NET应用程序

SQLite是一个小而精悍的数据库,据说SQLite之父是供职于美国军方的,其写SQLite的最初目的也是为了方便运行在美军导弹上的程序提供数据存储的。照此看来,倘若有朝一日,发生了战争,我们很有可能死在他的手里。

接触SQLite也才刚刚一个月,尽管如此,我仍然能够感受到她的魅力所在。之前我做一般的企业网站都是使用微软的ACCESS的,用过的兄弟可以想想那玩意儿有多糟糕了,连个最起码的嵌套查询都搞那么复杂,真忍不住让我不文明一次,ACCESS,Fuck you!在速度方面,SQLite比ACCESS快N多倍,在对T-SQL的支持方面,SQLite支持标准的SQL92。至于其它方面的比较,我也懒得罗列的了,总之一句话,用了才知道。

准备工作,去http://www.sqliteexpert.com 上下载一个SQLite Expert Personal,这是一个可视化的SQLite数据库管理工具,不用找简体中文版的了,没有,也别去找破解版的了,免费的。去http://sqlite.phxsoftware.com/ 上下载个ADO.NET 2.0 Provider for SQLite,你得到的应该是一个安装程序,装上吧。

在ADO.NET 2.0 Provider for SQLite的安装目录(X:\Program Files\SQLite.NET\bin)里找到System.Data.SQLite.dll文件并引用到你的项目里,有一点哦,如果服务器是64位操作系统,你需要引入x64文件夹中的System.Data.SQLite.dll文件,否则上传到服务器上以后你会发现程序不能运行,提示什么错误我也忘了,反正就是那个讨厌的错误界面,为了这个玩意儿我纠结了老半天,最后才发现那个x64文件夹。

SQLite的数据库连接字符串是这样写的:Data Source=filename;Version=3;BinaryGUID=False;

注意,最后的那个BinaryGUID=False是一定要的,否则你会发现使用Guid作为参数查询数据的时候查不出来,即使Guid是对的。这是因为SQLite默认将Guid类型的数据以Binary类型来存储的。

接下来就跟使用其它数据库一样了,萝卜白菜,也没啥味道,就不再写了。最后再啰嗦一句,SQLite不支持Top,例如“select top 8 * from news”应该写成“select * from news limit 0,8”。

欢迎加入SQLite俱乐部QQ群:1702823

 

posted @ 2010-09-24 09:06  苍穹剑师  阅读(730)  评论(0编辑  收藏  举报