本博文編寫環境 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 ,使用這個軟件可以方便查看保存在獨立存儲中的文件,也可以添加、導出、刪除等操作,運行界面如圖所示: