利用SQLite ADO.NET在.NET(C#)中使用SQLite数据库

 一、关于SQLite ADO.NET
System.Data.SQLite
是一个原始SQLite的加强版. 它将是一个原版的sqlite3.dll完全替代品 (你甚至就可以把它重命名为sqlite3.dll). 它不需要链接.NET 运行时,所以可以脱离.NET独立发布, 然而它内嵌了一个完整的 ADO.NET 2.0 引擎,为开发提供了完整的支持。

以下是它的特性简介:

完整的 ADO.NET 2.0 实现
整个工程完全基于VS2005 和 ADO.NET 2.0全新构建, 使用了全部的ADO.NET framework新特性. 包括完整的 DbProviderFactory 支持, 自动的分布式事务调用, 广泛的模式支持, 此外所有的类都是从 ADO.NET 2.0 的基类继承下来的.

支持完整和精简的 .NET Framework 以及 C/C++
这个库不需要链接依赖.NET运行时,100%兼容原始的sqlite3.dll,可以使用非托管的C/C++ 进行开发.

可移植的数据库文件
未加密的 SQLite 数据库文件可以自由的跨平台和处理器使用,包括非Windows平台. 加密之后的数据库可以在全部Windows平台上使用.

可以信赖的速度,比包括Sql Server Mobile 在内的其它大多数嵌入式数据库都要快速
SQLite’安装所占用的空间相对于Sql Mobile可谓忽略不计了. 它在运行的时候占用更少的内存,同时生成的数据库也更小.

数据库加密
可以对整个数据库文件进行加密. 支持二进制和明文的密码.

支持使用Visual Studio 2005 设计
你可以向Server Explorer添加一个SQLite 连接, 使用查询设计器创建处查询语句, 向一个数据集中拖拽一个表格等等! SQLite的开发者可以在包括体验版在内的各种Visual Studio 2005下工作.

单文件再发布包容量在400kb以下
将SQLite本身和ADO.NET 封装捆绑编译在一起. 预编译的二进制文件提供了 x86, IA64, x64 和ARM 的版本.

广泛的SQL语言支持
SQLite 支持大部分的SQL92 标准(see below). 支持命名和未命名的参数以 UTF-8 和UTF-16 编码通过优化的管道传入SQLite 内核.

用户自定义的函数 和 排序
全面支持用户自定义函数和排序方式,意味着你可以用自己喜欢的.NET语言来实现SQLite没有提供的特性. 这一切将非常的简单.

提供了全部的源代码. 100% 免费.
全部的封装库源代码都是公有的. 无论是个人还是商业应用都没有任何的协议约束.

主页地址:http://sqlite.phxsoftware.com/

下载地址(最新版本1.0.38.0):http://sourceforge.net/project/showfiles.php?group_id=132486&package_id=145568

这个提供程序更重要的是提供了ADO.NET vNext支持:http://sqlite.phxsoftware.com/blogs/sqlite/archive/2006/09/06/1949.aspx

二、在C#中使用SQLite
1、通过Add References引用SQLite ADO .NET安装目录的bin目录下的System.Data.SQLite.DLL。

2、创建数据库文件:因为始终是个0字节文件,应该利用IO也可以(?!)。

System.Data.SQLite.SQLiteConnection.CreateFile(datasource);

3、连接数据库

System.Data.SQLite.SQLiteConnection conn  =   new  System.Data.SQLite.SQLiteConnection(connectionString);

connectionString中包含了数据库的一些配置信息,比如数据库文件,数据库打开的密码等,可以利用System.Data.SQLite.SQLiteConnectionStringBuilder来辅助创建connectionString

4、创建表、读取数据等和Access或MS SQL没多大区别了。

// 创建一个数据库文件
string  datasource = " h:/test.db " ;
System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
// 连接数据库
System.Data.SQLite.SQLiteConnection conn  =   new  System.Data.SQLite.SQLiteConnection();
System.Data.SQLite.SQLiteConnectionStringBuilder connstr 
=   new  System.Data.SQLite.SQLiteConnectionStringBuilder();
connstr.DataSource 
=  datasource;
connstr.Password 
=   " admin " ; // 设置密码,SQLite ADO.NET实现了数据库密码保护
conn.ConnectionString  =  connstr.ToString();            
conn.Open();
// 创建表
System.Data.SQLite.SQLiteCommand cmd  =   new  System.Data.SQLite.SQLiteCommand();
string  sql  =   " CREATE TABLE test(username varchar(20),password varchar(20)) " ;
cmd.CommandText
= sql;
cmd.Connection
= conn;
cmd.ExecuteNonQuery();
// 插入数据
sql  =   " INSERT INTO test VALUES(’dotnetthink’,'mypassword’) " ;
cmd.CommandText 
=  sql;
cmd.ExecuteNonQuery();
// 取出数据
sql  =   " SELECT * FROM test " ;
cmd.CommandText 
=  sql;
System.Data.SQLite.SQLiteDataReader reader 
=  cmd.ExecuteReader();
StringBuilder sb 
=   new  StringBuilder();
while  (reader.Read())
{
    sb.Append(
" username: " ).Append(reader.GetString( 0 )).Append( " /n " )
    .Append(
" password: " ).Append(reader.GetString( 1 ));
}
MessageBox.Show(sb.ToString());
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: C#连接SQLite数据库可以使用System.Data.SQLite库,这是一个SQLite3的ADO.NET数据提供程序。以下是连接SQLite数据库的示例代码: ```csharp using System.Data.SQLite; // 设置连接字符串,指定SQLite数据库文件的路径 string connectionString = @"Data Source=C:\mydatabase.db;Version=3;"; // 创建SQLite连接对象 SQLiteConnection connection = new SQLiteConnection(connectionString); // 打开数据库连接 connection.Open(); // 执行SQL语句 SQLiteCommand command = new SQLiteCommand("SELECT * FROM mytable", connection); SQLiteDataReader reader = command.ExecuteReader(); // 读取数据 while (reader.Read()) { string column1 = reader.GetString(0); int column2 = reader.GetInt32(1); // ... } // 关闭数据读取器和连接 reader.Close(); connection.Close(); ``` 在连接串,Data Source指定SQLite数据库文件的路径,Version指定SQLite的版本号。创建SQLite连接对象后,通过执行SQL语句来操作数据库使用SQLiteDataReader对象读取数据时,可以通过GetString、GetInt32等方法获取指定列的数据。最后,关闭SQLiteDataReader和连接对象。 ### 回答2: c是C语言的一种编程语言。C语言是一种高级的计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代开发而来。C语言广泛应用于计算机科学和软件开发领域。 C语言被广泛使用是因为它具有简洁、灵活和高效的特点。它是一种结构化的编程语言,提供了丰富的数据类型和控制结构,使得程序员可以更好地组织和控制程序的流程。C语言还提供了丰富的操作符和库函数,使得编写复杂的算法和数据结构变得更加容易。 C语言还具有可移植性的特点,可以在不同的计算机平台上运行。C语言的程序可以通过简单的修改和重新编译就可以在不同的操作系统和硬件上运行,这使得C语言成为开发跨平台软件的理想选择。 C语言也被广泛应用于系统开发和底层编程。许多操作系统、编译器和数据库系统等底层软件都是使用C语言编写的。C语言的底层编程特性使得程序员可以直接访问和控制计算机的硬件资源,提高了程序的性能和效率。 总之,C语言是一种强大而灵活的编程语言,具有简洁、高效和可移植的特点。它在计算机科学和软件开发领域得到广泛应用,是学习和掌握计算机编程的重要一步。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值