博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win8 应用商店程序使用SQLITE数据库
阅读量:5998 次
发布时间:2019-06-20

本文共 2924 字,大约阅读时间需要 9 分钟。

研究WIN8的应用程序商店也有几天了,苦于一直没有找到快速入门的方法,一直纠结于应该先学那一块。

今天我终于想通了,想想以前在学习WEB开发的时候,也不是样样学会以后再去做的开发,说到底还是要做到哪,学到哪。

今天我先说说应用商店程序使用SQLLITE。

翻看MSDN,我发现微软没有提供任何使用SQLITE的示列代码,也没有提供一些API接口。后来在网上百度了一番,终于知道原来WIN8不是原生支持SQLITE的,需要安装一些插件才能使用。

1.创建一个metro项目

2.在工具,选择扩展与更新中,选择联机(online),在搜索框内输入sqlite

3.将会发现一个叫做sqlite for window runtime点击安装

4.

5.在引用中,选择windows,扩展,把Mircosoft visual c++ runtime package以及sqlite for windows runtime二者勾选上

 

6.点选解决方案,选择属性,配置属性,将平台选择为对应的平台,暂时不支持any cpu

 

7.点击项目,选择管理nuget包(如果没有需要另行安装),在联机中搜索sqlite-net,点击安装

 

8安装成功后会生成两个文件:SQLite.csSQLiteAsync到此完成安装部署

9,把我们下载的SQLITE.DLL拷贝的工程的根路径(下载路径上面的参考路径里面有,我下面也放了一个64位版本的文件)。

下面就是举一个简单的举例进行了解sqlite的使用;(经过试验,这一步是不需要的)

首先:声明一个person类也就是表主键自动增长

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;using SQLite;namespace AppHelloworld{    public class Person    {        [SQLite.AutoIncrement, SQLite.PrimaryKey]        public int ID { get; set; }        public string FirstName { get; set; }        public string LastName { get; set; }        private string _filepath = "";        public Person(string filepath)        {            _filepath = filepath;        }        public Person() { }        public async void Create()        {            SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath);            await conn.CreateTableAsync
(); } public async void Insert() { SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath); await conn.InsertAsync(new Person() { FirstName = "liufei", LastName = "Sky" }); } public async void Select() { SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath); var query = await conn.Table
().ToListAsync(); int i = 0; foreach (var item in query) { // Debug.WriteLine(string.Format("{0}: {1} {2}", item.Id, item.Name, item.Surname)); } } }}

 

来看看调用

private async void Button_Click(object sender, RoutedEventArgs e)        {            var root = Windows.Storage.ApplicationData.Current.LocalFolder;            var path = await root.CreateFolderAsync("sql", CreationCollisionOption.OpenIfExists);            var filename = await path.CreateFileAsync("people.sqlite", CreationCollisionOption.OpenIfExists);            string filepath = filename.Path;            Person person = new Person(filepath);            //    person.Create();            person.Insert();            person.Select();        }

文件就创建在你的APP的相应的文件夹下面了

我的是:C:\Users\David Zhu\AppData\Local\Packages\3595c634-cd9f-450c-ac45-0ffa721c77dc_nc6yw4ayk18f8\LocalState\sql

这里需要提一下,就是SQLITE3.DLL不是通过引用放到解决方案里面的,而是直接拷贝到程序的根路径,这和我们以前的开发方式不太一样。另外需要找到你自己计算机匹配的版本。

 再附加上我的SQLITE.DLL,方便大家使用

转载于:https://www.cnblogs.com/zhuzhenyu/archive/2012/11/27/2790193.html

你可能感兴趣的文章
JS乘法口诀表(一行代码)
查看>>
网络、会话建立与信任
查看>>
系统级性能分析工具perf的介绍与使用
查看>>
spring remoting源码分析--Hessian分析
查看>>
phpMyAdmim和Yii 连接Mysql报错。
查看>>
shell语法简单介绍
查看>>
MyEclipse 6.5 代码自动提示功能配置教程
查看>>
Java程序员面试失败的5大原因
查看>>
我认识的python(5)
查看>>
Promise实现
查看>>
报表性能优化
查看>>
js设计模式--迭代器模式
查看>>
Python 学习笔记之——用 sklearn 对数据进行预处理
查看>>
阿里云ECS连接数据库教程方法
查看>>
react
查看>>
PostgreSQL 10.1 手册_部分 IV. 客户端接口_第 33 章 libpq - C 库_33.21. 例子程序
查看>>
iOS 性能优化
查看>>
Spread for Windows Forms高级主题(7)---自定义打印的外观
查看>>
【循序渐进学Python】5.Python常用流程控制及其他语句
查看>>
[LeetCode] Intersection of Two Arrays II 两个数组相交之二
查看>>