当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—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());