Windows Phone8 中如何引用 SQLite 数据库2

本博文编写环境 VS2013 + WP8 SDK

上篇介绍完了SQLite在wp中的部署(具体请参阅 Windows Phone8 中如何引用 SQLite 数据库),下面来看如何使用 SQLite 数据库

SQLite的数据库都是程序运行时自动创建的,我们操作的数据库是位于隔离存储空间里的。

这是我仅做了简单的数据库操作:

1.创建数据库链接

1
2
3
4
private SQLiteAsyncConnection GetConn()
        {
            return new SQLiteAsyncConnection(ApplicationData.Current.LocalFolder.Path + "\\people.db");
        }

  

2.创建数据库

1
2
3
4
5
6
7
private async void btnCreateDb_Click(object sender, RoutedEventArgs e)
        {
            SQLiteAsyncConnection conn = GetConn();
 
            await conn.CreateTableAsync<Student>();
            MessageBox.Show("创建成功");
        }

  

3.插入数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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.查询数据

1
2
3
4
5
6
7
8
9
10
11
12
13
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.更新数据

1
2
3
4
5
6
7
8
9
10
11
12
13
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 ,使用这个软件可以方便查看保存在独立存储中的文件,也可以添加、导出、删除等操作,运行界面如图所示:

 

posted @   匆匆夏日  阅读(2016)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示