据说SQLite已经是世界上部署最广泛的SQL数据库引擎,早上看了一下,把使用的过程记录下来提供给感兴趣的朋友。
关键词:
1.SQLite是一个开源的,轻量级的,支持多平台的数据库。
2.SQLite是一个嵌入式SQL数据库引擎,没有独立的服务进程。
3.SQLite直接读写磁盘文件,表、索引、触发器和视图的完整SQL数据库就包含在一个独立的磁盘文件中。
搭建SQLite for .Net 开发环境:
1.下载SQLite ADO.NET Data Provider 安装上
http://cid-6ed27995cf72da48.skydrive.live.com/self.aspx/.Public/Soft/SQLite-1.0.60.0-setup.exe
2.下载SQLite GUI 客户端 安装上
网上的朋友推荐用Download SQLite Expert Personal 1.7.84 (Freeware),我也是用他,不过感觉他对中文的支持也不是很好。
这里有一个SQLite GUI客户端的列表 http://www.sqlite.org/cvstrac/wiki?p=ManagementTools 大家可以找找自己需要的。
建数据库
建立一个名为testDB的库,如下图
建立一个名为testT的表,包含ID,Name,Email三个字段
SQL 插入几条数据,如下图
编写Asp.Net Web应用程序访问SQLite数据库
1.Web应用程序引用System.Data.SQLite 程序集,像SQLClient一样的去使用
2.做一个简单测试,GridView数据绑定,代码如下
aspx 文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> </form> </body> </html>
aspx.cs 文件
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SQLite; using System.Data; namespace SQLite { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string connStr = "Data Source=C:\\testDB;New=False;Compress=True;Synchronous=Off;UTF8Encoding=True;Version=3;"; using (SQLiteConnection conn = new SQLiteConnection(connStr)) { SQLiteDataAdapter da = new SQLiteDataAdapter("select * from testT", conn); DataTable dt = new DataTable(); da.Fill(dt); GridView1.DataSource = dt.DefaultView; GridView1.DataBind(); } } } }
运行结果,绑定显示数据
总结:
1.之前没有看过SQLite的文章,今天初次使用上手很快,使用也很方便,感兴趣的朋友,可以尝试一下。
2.SQLite提供了像SQLClient一样的ADO.NET Data Provider ,支持Linq
3.SQLlite开源可以跨平台,这点很吸引人。
4.感觉很像Access数据库,如果是小型规模的网站之类的程序,可以考虑使用他。
5.不过SQLite网上的提供的免费GUI多多少少都用点不完善,如果那位朋友有比较好的,跟帖告诉我一下,谢谢。
6.设置密码,就是如果简单的给SQLite数据库设置密码呢?看网上说SQLite如果想设置密码加密需要收费?
Demo下载: