首頁  >  文章  >  資料庫  >  在.Net中操作SQLite資料庫的詳細優點有哪些?

在.Net中操作SQLite資料庫的詳細優點有哪些?

php是最好的语言
php是最好的语言原創
2018-08-03 11:59:491923瀏覽

摘要:

     關於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