win8 应用商店程序使用SQLITE数据库

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

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

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

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

1.创建一个metro项目

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

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

4.

win8 应用商店程序使用SQLITE数据库

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

 

win8 应用商店程序使用SQLITE数据库

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

 

win8 应用商店程序使用SQLITE数据库

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

 

win8 应用商店程序使用SQLITE数据库

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<Person>();


        }

        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<Person>().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

win8 应用商店程序使用SQLITE数据库

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

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

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