C#连接SQLite数据库

如果只是想C#引用DLL开发程序,不想要创建数据库,则可以从第三部分开始看
 
第一步、创建SQLite数据库
1)Shell模式下的CLP
首先下载CLP
点击Download进入下载页面http://www.sqlite.org/download.html
滚动鼠标,找到页面上的Precompiled Binaries for Windows
有一个叫sqlite-shell-win32-x86-3080403.zip,其中后面的小版本号一定会不停的在改变,主要辨别方式是名字里头有个shell
解压这个ZIP就可以看到包含在里头的sqlite3.exe文件。
1.把sqlite3.exe复制到C:\Windows\temp目录下(其实可以随意复制)
2.运行cmd
3.在cmd里头用命令cd..退到C盘根目录下,然后cd windows, cd temp,输入两行命令,把目录移动到存放sqlite3.exe文件的目录中(其实cmd应该可以一条命令完成,只不过我不太懂cmd命令,能完成就行了)
4.在cmd窗体里头输入sqlite3.exe,开启shell模式的clp,如果没报错,则cmd窗口提示了版本号之类的信息
5.输入.help命令则提示了很多命令提示符。
6.输入.exit退出shell模式的SLP
(4,5,6这三个步骤只是演示,没有实际作用,下面第7步开始使用命令创建库)
7.在cmd窗口里头输入
sqlite3 test.db
(注意,这里和第四步不同,这里必须要给定数据库的名称,如果想第四步那样启动,数据库之保存在内存中,关闭cmd数据就不见了)
8.创建数据库
sqlite> create table test (id integer primary key, value text);
(执行这一步之后,就会创建一个.db文件,执行第七部的时候还没创建test.db文件,这是由于sqlite的内部原理导致的延时创建,应该和字符集,格式之类的有关系,但是无论如何,第七步一定要制定数据库名称)
9.插入数据
sqlite> insert into test (id, value) values (1,'eenie');
sqlite> insert into test (id, value) values (2,'meenie');
sqlite> insert into test (value) values ('miny');
sqlite> insert into test (value) values ('mo');
10.查找数据 
sqlite> select * from test;
也可以布局一下格式
sqlite> .mode column
sqlite> .headers on
sqlite> select * from test;
这样就更清晰了,要注意哪些代码是要加分号,哪些是可以不加的
----------------------
获取数据库的Schema信息
sqlite> .tables
sqlite> .schema test
sqlite> .schema
 
第二步、使用可视化管理工具管理SQLite
使用cmd模式是在太痛苦了,改成可视化管理工具会好用很多。
我使用的是sqliteexpert,该工具有Personal Edition(个人版)和Professional Edition(专业版)两个版本,个人版完全够我使用了
又是全英文,如果看不懂英文可以使用网页翻译工具,翻译之后很容易就找到我们所要的东西了
点击Download进入下载页面http://www.sqliteexpert.com/download.html
上面那个是专业版,上面清楚的写着License: 30 days trial(使用30天),下面那个是个人版,清楚的写着License: Freeware(免费^^)
点击个人版的Dlwoload按钮,便会弹出一个下载框,保存并且安装即可。
安装的时候最好勾上Create a desktop icon按钮,省的桌面上没这个启动方式,还要去“开始”菜单里头找,当然其实也无所谓
安装完成之后打开就可使用。
用工具创建的数据库都是没有后缀名的,如果想变成第一步那样,让数据库有.db后缀名,则手动添加一下即可,不过程序中的链接字符串别忘记也需要对应哟
 
第三步、获取SQLite DLL
(这是重点,显然开发数据库可以是别人创建好的,但是程序员要开发怎么都绕不开这步。
这篇文章写于2014年5月19日,因为以后网站可能有变更,比如我找的教程对应的下载文件名称已经不对,所以没办法根据他们提供的名称找到我要下载的DLL。)
点击Download进入下载页面http://www.sqlite.org/download.html
该页面有在不同系统下使用的sqlite版本,如果不懂英文,可以用网页翻译工具,翻译过来之后,很容易就看懂了。
如果要用.net C#在windows系统上开发,应该下载Precompiled Binaries for .NET(预编译的二进制文件为。net)
不要下载Precompiled Binaries for Windows的sqlite-dll-win32-x86-3080403.zip,
里头的DLL引用的时候会报错:未能能添加对“.....sqlite3.dll”的引用,请确保此文件可访问并且是一个有效的程序集或COM组件。
进入Precompiled Binaries for .NET页面之后会发现有很多下载,仔细看一下其实主要分3大类
1.Setups for(设置)
2.Precompiled Binaries(预编译的二进制文件)
3.Precompiled Statically-Linked(预编译静态链接)
每一类都对应的32位和64位系统,和不同的.NET Framework版本,除了这3类外,还有一些源代码,Win CE之类的版本
我们要的是从2.Precompiled Binaries 下载对应自己所开发的程序的目标平台(X86 or 64bit),和自己开发程序的.net版本
我下载的是32位的.NET Framework4.0的版本。
解压这个压缩包,会发现有很多东西,我也搞不清有什么用,反正从里头可以找到一个dll文件System.Data.SQLite.dll
把这个文件引用我们的.net程序里头,就可以操作后缀为.db的SQLite数据库了。
不知道为什么,其实2.Precompiled Binaries和3.Precompiled Statically-Linked里头的dll都可以使用,不知道静态和非静态有什么区别
 
 
第四步:就是创建一个C#项目,然后右键引用,添加第三部下载的DLL就行了,记得把DLL先放到bin/debug目录下。
可以把dll和创建的数据库都放在debug或者Release目录下,这样不需要再设置创建新的DLL和数据库路径可是使用相对路径,等程序开发好了,直接把Debug或者Release打包就行了。
 
 
 
之后就是开发了,SQLite的语法有很多功能不支持哦,比如之支持左外连接(LEFT OUT JOIN),不支持右外连接(RIGHT OUT JOIN)和全外链接(FULL OUT JOIN),千万要注意。反正开发工具查询出错就换种写法。
 
--

posted on 2014-05-19 13:38  小春yeah  阅读(507)  评论(0编辑  收藏  举报

导航