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


    本博文编写环境 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 ,使用这个软件可以方便查看保存在独立存储中的文件,也可以添加、导出、删除等操作,运行界面如图所示:

  • 相关阅读:
    mysql 数值函数
    java服务器简单实现
    利用monkeyrunner实现Android屏幕连续截图
    (Access denied for user 'root'@'localhost' (using password: NO))
    Java 基础之 static 静态
    天坑 之 Eclipse J2EE Preview 运行正确项目一直显示http 404
    Java web 实现 之 Filter分析ip统计网站的访问次数
    JSP 实现 之 读取数据库显示图片
    【转】焦虑、渴望中挣扎的我们,如何定义成功和失败?
    【转】美团点评技术团队金融核心交易系统可用性7个9是这样炼成的
  • 原文地址:https://www.cnblogs.com/shanlin/p/3800705.html
Copyright © 2020-2023  润新知