本博文编写环境 VS2013 + WP8 SDK
上篇介绍完了SQLite在wp中的部署(具体请参阅 Windows Phone8 中如何引用 SQLite 数据库),下面来看如何使用 SQLite 数据库
SQLite的数据库都是程序运行时自动创建的,我们操作的数据库是位于隔离存储空间里的。
这是我仅做了简单的数据库操作:
1.创建数据库链接
private SQLiteAsyncConnection GetConn()
{
return new SQLiteAsyncConnection(ApplicationData.Current.LocalFolder.Path + "\\people.db");
}
2.创建数据库
private async void btnCreateDb_Click(object sender, RoutedEventArgs e)
{
SQLiteAsyncConnection conn = GetConn(); await conn.CreateTableAsync<Student>();
MessageBox.Show("创建成功");
}
3.插入数据
private async void btnAdd_Click(object sender, RoutedEventArgs e)
{
SQLiteAsyncConnection conn = GetConn();
Model.Student student = new Model.Student
{
Name = "张三",
Age = 30,
Sex = "男"
};
await conn.InsertAsync(student);
student = new Model.Student
{
Name = "李四",
Age = 25,
Sex = "男"
};
await conn.InsertAsync(student);
student = new Model.Student
{
Name = "小华",
Age = 23,
Sex = "女",
Remark = "优秀"
};
await conn.InsertAsync(student);
MessageBox.Show("插入数据成功!");
}
4.查询数据
private async void btnQuery_Click(object sender, RoutedEventArgs e)
{
SQLiteAsyncConnection conn = GetConn();
var query = conn.Table<Student>();//.Where(x => x.Name == "小华");
var result = await query.ToListAsync(); this.stuList.ItemsSource = result; foreach (var item in await conn.Table<Student>().ToListAsync())
{
Debug.WriteLine(string.Format("NO:{0} NAME:{1} SEX:{2} AGE:{3} REMARK:{4}", item.Id, item.Name, item.Sex, item.Age, item.Remark));
}
}
5.更新数据
private async void btnUpdate_Click(object sender, RoutedEventArgs e)
{
//ApplicationData.Current.LocalFolder.Path + "\\people.db"
SQLiteAsyncConnection conn = GetConn();
var query = conn.Table<Student>().Where(x => x.Name == "小华");
var result = await query.ToListAsync();
foreach (var item in result)
{
item.Age = 35;
await conn.UpdateAsync(item);
MessageBox.Show("数据更新成功!");
}
}
程序运行效果如下图所示
怎么样,是不是很简单哦,这里说明一下,在操作SQLite数据库时也可以不使用SQLiteAsync.cs 和SQLite.cs ,可以自己写 sql 语句的方式来操作,那样会更加灵活些。
源码下载 请点击
如何查看wp8独立存储中的文件呢,大家可以 打开 http://wptools.codeplex.com/ 下载
Windows Phone Power Tools ,使用这个软件可以方便查看保存在独立存储中的文件,也可以添加、导出、删除等操作,运行界面如图所示: