當有程序需要保存輕量數據,而又煩躁序列化到本地的不便,輕量級數據庫—SQLLite是一個很好的選擇,只需引用System.Data.SQLite.DLL,無需部署數據庫,便可像擁有數據庫一樣保存數據,支持數據庫常見操作:增刪改差,支持數據庫常見類型,支持數據加密。效果圖:
使用步驟如下:
- 下載System.Data.SQLite.DLL(注意版本.net2.0/3.0/4.0/4.5,)
- 在vs中用Add Reference功能把System.Data.SQLite.DLL加到工程里就可以了。
- 創建數據庫文件
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());