C#连接SQLite数据库

如果只是想C#引用DLL开发程序,不想要创建数据库,则可以从第三部分开始看

第一步、创建SQLite数据库

1)Shell模式下的CLP

首先下载CLP

官方站点http://www.sqlite.org/

点击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(专业版)两个版本,个人版完全够我使用了

官方网站:http://www.sqliteexpert.com/

又是全英文,如果看不懂英文可以使用网页翻译工具,翻译之后很容易就找到我们所要的东西了

点击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。)

官方站点http://www.sqlite.org/

点击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),千万要注意。反正开发工具查询出错就换种写法。

--

C#连接SQLite数据库

时间: 2024-08-01 22:37:15

C#连接SQLite数据库的相关文章

VS2010连接SQLite数据库

Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setup package that is capable of installing the design-time components for Visual Studio xxxx 找到对应的VS版本,注意一定要带bundle,集成了设计器:无论32位系统还是64位系统,似乎都要下载32位的(X86)

Java连接SQLite数据库详解【转】

1 package com.hedalixin; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 import java.sql.ResultSet; 5 import java.sql.Statement; 6 7 /** 8 * @author Chrome 9 * 10 */ 11 public class JavaSqlite { 12 13 /** 14 * @param args 15 */ 16 pu

vc连接sqlite数据库

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

Java 连接SQLite数据库

下载jar包: http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz public class TestSQLite { public static void main(String[] args) { try { //连接SQLite的JDBC Class.forName("org.sqlite.JDBC"); //建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之 Connect

Java使用jdbc连接Sqlite数据库进行各种数据操作的详细过程

前言:      SQLite是遵守ACID 的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.       不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协议是在编程语言内的直接API调用.这在消耗总量.延迟时间和整体简单性上有积极的作用.整个数据库(定义.表.索引和数据本身)都在宿主主机上存储在一个单一的文件中.它的简单的设计是通过在开始一个事务的时候锁定整个数

Navicat for SQLite 连接Sqlite数据库的方法

Navicat for SQLite 配备了数据编辑.SQL查询和数据模型工具,并支持所有SQLite对象类型.其主要功能有数据传输.数据同步.导入或导出.报表等.其凭借设计的方便快捷的用户界面,并且用户创建.组织.访问和共享信息都非常的简便快捷,优化SQLite工作流程,提高工作效率.下面我们将给大家介绍介绍Navicat for SQLite 连接Sqlite数据库的方法? 原文:http://www.formysql.com/jiqiao/sqlite-lianjie.html Navic

Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)

系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe AIR中使用Flex连接Sqlite数据库(3)(查询) Adobe AIR中使用Flex连接Sqlite数据库(4)(事务) Flex,Fms3相关文章索引 Fms3和Flex打造在线多人视频会议和视频聊天(附原代码) 免费美女视频聊天,多人视频会议功能加强版本(Fms3和Flex开发(附源码))

一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去搞,否则又倒腾到Excel也费神.我看到支持ODBC驱动,想想肯定有办法.来看看Power BI Desktop如何连接Sqlite数据库. Power BI文章目录:微软Power BI技术文章与资源目录 本文原文地址:http://www.cnblogs.com/asxinyu/p/Power_

Java连接SQLite数据库

下载java包:sqlite-jdbc-3.7.2.jar,放到java工程目录lib下 如下代码实例: import java.sql.*; import org.sqlite.JDBC; /** * 这是个非常简单的SQLite的Java程序, * 程序中创建数据库.创建表.然后插入数据, * 最后读出数据显示出来 */ public class SqliteTest { public static void main(String[] args) { try { //连接SQLite的JD