C#學習九之WPF應用使用SQLite資料庫詳解

來源:互聯網
上載者:User

標籤:

使用SQLite之前,我們先來瞭解瞭解SQLite的優點:

◇輕量級
先說它的第一個特色:輕量級。想必SQLite的作者很看重這個特性,連它的Logo都是用的“羽毛”,來顯擺它的輕飄飄。
SQLite和C/S模式的資料庫軟體不同,它是進程內的資料庫引擎,因此不存在資料庫的用戶端和伺服器。使用SQLite一般只需要帶上它的一個動態 庫,就可以享受它的全部功能。而且那個動態庫的尺寸也挺小,以版本3.6.11為例,Windows下487KB、Linux下347KB。
◇綠色軟體
SQLite的另外一個特點是綠色:它的核心引擎本身不依賴第三方的軟體,使用它也不需要“安裝”。所以在部署的時候能夠省去不少麻煩。
◇單一檔案
所謂的“單一檔案”,就是資料庫中所有的資訊(比如表、視圖、觸發器、等)都包含在一個檔案內。這個檔案可以copy到其它目錄或其它機器上,也照用不誤。
◇跨平台/可移植性
如果光支援主流作業系統,那就沒啥好吹噓的了。除了主流作業系統,SQLite還支援了很多冷門的作業系統。我個人比較感興趣的是它對很多嵌入式系統(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)的支援。
◇記憶體資料庫(in-memory database)
這年頭,記憶體越來越便宜,很多普通PC都開始以GB為單位來衡量記憶體(伺服器就更甭提了)。這時候,SQLite的記憶體資料庫特性就越發顯得好用。
SQLite的API不區分當前操作的資料庫是在記憶體還是在檔案(對於儲存介質是透明的)。所以如果你覺得磁碟I/O有可能成為瓶頸的話,可以考慮切換 為記憶體方式。切換的時候,操作SQLite的代碼基本不用大改,只要在開始時把檔案Load到記憶體,結束時把記憶體的資料庫Dump迴文件就OK了。

下面給大傢具體說一下使用它的步驟:

1.從SQLite官網下載System.Data.SQlite.dll

  網址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

 這個動態連結程式庫需要Microsoft Visual C++ Runtime Library 這個就需要大家有visual C++的運行庫,大家可以在控制台的程式中查看,如果沒有,那麼就下載s‘teup版,如果已經有的就下載static版。還有要注意的一點是下載的時候記得下載的檔案是運行在X64系統還是X32系統的,而在自己程式中是要調整相應架構,不然會出啟動並執行檔案格式錯誤。

2.有了這個就可以在visual stidio中引用這個庫。

3.下面是一些操作SQLite的C#語句:

                SQLiteConnection con = new SQLiteConnection("Data Source=record.sqlite;Version=3;");                con.Open();                SQLiteCommand cmd = new SQLiteCommand();                cmd.Connection = con;                Boolean testTableExists = false;                cmd.CommandText = "SELECT * FROM sqlite_master WHERE type=‘table‘ and name=‘informations‘";                using (SQLiteDataReader dr = cmd.ExecuteReader())                {                    if (dr.Read())                    {                        testTableExists = true;                    }                }                if (!testTableExists)                {                    string sql= "CREATE TABLE informations (Website nvarchar(30), userName nvarchar(30), password nvarchar(30))";                    SQLiteCommand command = new SQLiteCommand(sql, con);                    command.ExecuteNonQuery();                    MessageBox.Show("OK");                }                string sqls = string.Format("INSERT INTO informations(Website, userName, password) VALUES (‘{0}‘,‘{1}‘,‘{2}‘)",txWebsite.Text,txUsername.Text,txpassword.Text) ;                SQLiteCommand commands = new SQLiteCommand(sqls, con);                commands.ExecuteNonQuery();                MessageBox.Show("OKs");                con.Close();

  

C#學習九之WPF應用使用SQLite資料庫詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.