使用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();