SQLite for WinRT 笔记
——Win8 App开发中常常需要使用到数据库,而由于其架构,XML是一个不错的选择,但由于其本身效率问题,只适合少量数据。对于稍大一点的数据存放,我们只能使用一些轻量级数据库。而这些轻量级数据库中,最好用的就数SQLite了。SQLite跨多平台,早在Android和Windows Phone等平台中就有很多使用。同时,据说支持与线上服务器同步数据更新管理等高级功能,这一点还有待验证。
1. 项目中使用SQLite
1.1. 在项目“引用”中添加:
1.2. 在解决方案属性,修改“配置属性”-“属性”中平台为相应平台,不能为Any CPU,如x86,x64,ARM。
1.3. 在工程-管理NuGet程序包,联机搜索sqlite-net,并安装。
此时,工程中将会加入2个文件:
2. SQLite的详细使用
2.1. 数据类
1: class DB_Status
2: {
3: [SQLite.AutoIncrement, SQLite.PrimaryKey]
4:
5: public int ID { get; set; }
6: public int Type { get; set; }
7: public string Content { get; set; }
8: public DateTime Moment { get; set; }
9: }
2.2. 数据库连接
1: db_Path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db");
2: db_Conn = new SQLiteConnection(db_Path);
2.3. 数据库基本操作
//创建表
db_Conn.CreateTable<DB_Status>();
//插入单条记录
db_Conn.Insert(new DB_Status());
//插入多条记录
db_Conn.InsertAll(new List<DB_Status>());
//执行其他SQL命令
SQLiteCommand cmd = db.CreateCommand("update db_memo set Content='" + _DB_Memo.Content + "' where ID='" + _DB_Memo.ID + "'");
cmd.ExecuteNonQuery();
//条件查询返回列表
List<object> list = db.Query(new TableMapping(typeof(DB_Status)), "select * from DB_Status");
//返回某个表
Var db_status = db.Table<DB_Status>();
List<DB_Status> db_status.ToList();
//单行删除操作
db.Delete<DB_Status>(new DB_Status() { ID = 1 });
//多行删除
db.DeleteAll<DB_Status>();


浙公网安备 33010602011771号