在.Net中操作SQLite数据库有什么优点
这篇文章将为大家详细讲解有关在.Net中操作SQLite数据库有什么优点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
总结:
关于SQLite的库安装比较特殊:
下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki --ok!
https://www.sqlite.org/download.html。---用于安卓、Mac、Linux等平台的下载。
下载安装包:
sqlite-netFx20-setup-bundle-x64-2005-1.0.108.0.exe ---测试ok!
或者 sqlite-netFx45-setup-bundle-x64-2012-1.0.108.0.exe 需要先卸载2.0版,再安装。---测试ok!
(为了与其它软件保持一致,建议安装.Net 4.5版本的!)
默认安装路径:C:\Program Files\System.Data.SQLite
.Net引用:只需引用安装bin目录下的,System.Data.SQLite.dll一个文件即可!
注意:
1、带bundle的表示动态库是按混合模式编译的,还有纯x86和纯x64模式的库,共3种,按实际需要选择。(与项目的生成--目标平台一致才行!)
2、下载的库,一定要安装,才行!!(只引用,未安装,运行会报错!!)
3、.Net使用SQLite,只需要引用System.Data.SQLite.dll,根本用不着 sqlite3.dll。没想到吧!
SQLite 介绍:
SQLite,是一款轻型的数据库,用于本地的数据储存。开源数据库。
优点,它占用资源非常的低,在嵌入式设备中需要几百K的内存就够了;作为轻量级数据库,他的处理速度也足够快;支持的的容量级别为T级;独立: 没有额外依赖;开源;支持多种语言。
详细优点:
1、它的设计目标是嵌入式的,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
2、跨平台和多语言支持:它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,
比如C, C++, PHP, Perl, Java, C#,Python, Ruby等。
3、速度快:比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。
(比一些流行的数据库在大部分普通数据库操作要快。)
4、支持数据库大小至2TB。
5、足够小, 大致13万行C代码, 4.43M
6、简单, 轻松的API
7、源码完全的开源, 你可以用于任何用途, 包括出售它。
8、它还支持事务处理功能等等。
使用.NET操作SQLLITE:
示例代码1:
public string Query() { string datasource = "e:/tmp/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('a','b')"; 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());
return sb.ToString(); }
示例代码2:事务操作:
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
{
conn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = conn;
SQLiteTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SQLite.SQLiteException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
关于“在.Net中操作SQLite数据库有什么优点”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341