【.NET】学习SQLite(1)

前沿

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

SQLite下载安装以及数据库的创建

SQLite的下载地址:http://www.sqlite.org/download.html

这里我下载的是支持WINDOWS系统,基于32位的版本

 下载解压,你会看到就一个exe文件,不用安装,如果双击此文件,会弹出dos窗口,提示“连接到一个临时的内存中的数据库”。

 如果我们想创建自己的数据库,那么我们要先创建一个保存数据库的文件夹,然后一定要把这个exe文件复制到我们保存数据库的文件夹,否则无法创建数据库。我这里在C盘下面创建一个Sqlite文件夹,然后把Sqlite.exe移动到此文件夹。

 1、创建数据库:

 打开dos窗口,首先进入我们刚才创建的目录:
 C:\Users\Administrator>CD/
 C:\>cd C:/Sqlite 然后我们使用Sqlite3命令输入:Sqlite3 Test.db,此时我们并没有在文件夹下面看到Test数据库,因为此时的数据库没有任何表和数据,所以我们看不到创建的数据库,但是数据库已经创建。

 2、创建表News:


 此时即可完成表的创建,当把主键设为Integer时,则该主键为自动增长;

 3、插入数据时:

 
 这里我们可以看到只要我们不输入分号,SQLite不会自动执行我们输入的语句,当我们输入分号的时候,才确认输入结束,最后执行。

 4、查询表数据:

 

 5、获取最后一次插入的数据的主键:

 

 6、在DOS中,键入Ctrl+C,退出数据库,Unix中,使用Ctrl+D

 

 

 更多SQLIte命令,可以看看官方文档:http://www.sqlite.org/cli.html

 

Sqlite管理工具 Navicat for SQLite

 

Nvaicat for SQLite是一款收费软件,免费使用1个月,对于用于学习的同学们是足够了;

下载地址:http://www.navicat.com.cn/products/navicat-for-sqlite

这里有详细的关于如何操作此款SQLite数据库的图文介绍,不过在使用过程中,好像无法通过此款软件直接创建数据库,只有附加数据库选项,这里我把刚才我们创建的数据库添加上来:

这里我们就可以看到我们刚才在dos下面创建的数据库啦!!我们可以像操作SQLserver那样来操作简单小巧的SQLIte数据库了。

(修改:在新建连接的时候是可以新建数据库的)

在项目中连接SQLite数据库

首先我们要下载System.Data.SQLite组件,下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

安装完以后,找到安装目录,在vs项目中添加对System.Data.SQLite.dll的引用,然后就可以我们可以像操作SQLserver那样来操作SQLite数据库了,这里有对应的数据库连接类、适配器等等。

 SQLiteConnection con = new SQLiteConnection();
            con.ConnectionString = @"Data Source=C:\Sqlite\Test.db";
            con.Open();

            SQLiteCommand cmd = new SQLiteCommand();
            cmd.Connection = con;
            cmd.CommandText = "Select * from Tb_User";
            SQLiteDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                MessageBox.Show(string.Format("{0}\t{1}", reader["Id"], reader["Name"]));
            }
            reader.Close();
            con.Close();

总结

 到这里,,我们还可以通过EF来操作SQLite,但是我自己在实验的时候,安装完第一个组件,在添加实体数据类型,选择数据库的时候就是找不到SQLite一项,估计是版本有问题。就先记录到这里吧

 参考文章:http://www.cnblogs.com/aehyok/p/3981965.html

posted @ 2014-10-11 14:39  YoMe  阅读(1054)  评论(2编辑  收藏  举报