zoukankan      html  css  js  c++  java
  • 图解Win 10 应用开发之Sqlite 数据库的简单用法

    尽管目前 UWP-RT 库中还没有自带操作Sqlite数据库的API,不过,真要使用的话也不难,因为通过 Nuget ,我们其实可以获取很多支持 Sqlite 操作的第三方组件,当然了,组件虽多,但不是个个都好用,有的会发生这样那样的错误。目前找到一个比较不错的,而且支持 LINQ 操作。

    方法/步骤

    1. 1

      在VS 中新建一个 UWP 应用项目。

    2.  

      在 解决方案资源管理器 窗口中的 引用 节点上右击,然后执行 管理NuGet程序包菜单。

    3.  

      查找并安装以下两个组件,如下图所示:

      注:

      -> SQLite.WUP.Native是必须安装的,它是封装sqlite操作函数的本地库,如果你用的是C++语言来开发,可以直接调用。如果不安装这个,在运行时会报找不到 sqlite3.dll 的错误。

      -> SQLiteWrapperUWP-PCL也应该安装,它对sqlite的操作接口进行进一步封装,并且支持 LINQ 处理。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    4.  

      安装成功后,在引用列表会看到相关条目,如下图所示:

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    5.  

      在代码中引入以下相关的命名空间,如下图所示:

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    6.  

      要连接并创建表,要使用 SQLiteConnection 类,在构造实例时,用到两个必须的参数(其他参数可选):

      sqlitePlatform:类型是 ISQLitePlatform 接口,它的实现类型是  SQLitePlatformWinRT ;

      databasePath:数据库文件的路径,注意,由于UWP应用默认允许访问的路径不多,通常是本地目录。为了避免发生异常,可以通过 ApplicationData类来获取localFolder实例,然后从目录实例的 Path 属性得到本地目录的完整路径,再传递给该参数。

       比如这样建立连接,如下图所示:

      当连接完不再需要时, 可以调用Dispose方法释放掉,或者干脆把连接的实例化放到一个 using 语句块中。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    7.  

      定义数据表模型,比如,我定义了一个 Student 类,它表示一张表,如下图所示:

      注:对于要用于建表的类,要加上 Table 特性,对于属性,其实是映射到列,要加上Column特性。AutoImcrement特性表示字段的数值是自增长列。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    8.  

      创建表。实例化数据库连接后,可以调用连接对象的 CreateTable 方法直接创建表,如下图所示:

      CreateTable方法如果返回0,表明表创建无误。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    9.  

      插入数据。实例化连接对象后,访问 Insert 方法插入单条数据;InsertAll 方法插入多条数据;InsertOrReplace插入数据并替换已存在的记录;InsertOrReplaceAll 插入多条数据,并替换已存在项,如下图所示:

      上面代码先用DeleteAll方法删除表中的所有记录,然后插入四条记录,插入方法返回已成功写入的记录数目,上面代码应返回 4 。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    10.  

      查询数据。可以用 LINQ 来查询,如下图所示:

      Table 方法返回一个 TableQuery实例,然后可以用 LINQ语句来处理。本例中筛选所有数据,并接照Age属性升序排列。

      图解Win 10 应用开发之Sqlite 数据库的简单用法
    11.  

      运行效果如下图所示:

      图解Win 10 应用开发之Sqlite 数据库的简单用法
  • 相关阅读:
    呀?这就是锁(二)?
    呀?这就是锁(一)?
    线程的建立
    Mybatis基础使用简介
    使用apache+tomcat+mod_jk.so实现集群
    HttpClient使用详解
    HttpClient基础用法
    Collection集合学习(二)———List接口与具体实现
    Docker学习总结(二)—— 镜像,容器
    Docker学习总结(一)—— namespace,cgroup机制
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14392969.html
Copyright © 2011-2022 走看看