首页 >数据库 >mysql教程 >在.Net中操作SQLite数据库的详细优点有哪些?

在.Net中操作SQLite数据库的详细优点有哪些?

php是最好的语言
php是最好的语言原创
2018-08-03 11:59:491976浏览

总结:

     关于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);
                }

相关文章:

SQLite关系型数据库的使用

如何在.NET中使用MySQL数据库

相关视频:

SQLite高级课程

以上是在.Net中操作SQLite数据库的详细优点有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn