在Win8 Mertro 中使用SQLite

分类:             .net 开发              2012-09-19 18:17     1229人阅读     评论(3)     收藏     举报    

首先先介绍下sqlite在metro下应用简介:

sqlite的网是完全符合WinRT的Metro风格的应用程序,并通过微软的商店验证。

数据库文件将始终被创建的路径返回:

Windows.Storage.ApplicationData.Current.LocalFolder.Path。

您将需要一个副本的sqlite3.dll已编译对SQLite.org的WinRT分支。虽然这不是在主流支

持,它被预期。你可以找到更多信息并下载适当的编译sqlite3.dll从[

https://github.com/mbrit/sqlite-metrostyle ]。

我们提供了一个WinRT / Windows 8的sqlite3.dll

好了:现在开始先介绍下怎么安装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.cs与SQLiteAsync到此完成安装部署

下面就是举一个简单的举例进行了解sqlite的使用;

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

class Person

{

[SQLite.AutoIncrement, SQLite.PrimaryKey]

public int ID { get; set; }

public string FirstName { get; set; }

public string LastName { get; set; }

}

2.写一个方法用于创建数据库db1.sqlite和表person

private async void Create()

{

//数据文件保存的位置

Var  dbPath=Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db1.sqlite");

//打开创建数据库和表

using (var db = new SQLite.SQLiteConnection(dbPath))

{

//创建表

db.CreateTable<Person>();

}

}

3.简单的操作sqlite数据库(增,删,改,查询)

//sqlite语句简单示例

//连接数据库

var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db1.sqlite");

var db = new SQLite.SQLiteConnection(dbPath);

//插入操作。首先声明一个集合

ObservableCollection<Person> Collection = new ObservableCollection<Person>();

//单条插入语句

db.Insert(new Person() { FirstName = "liufei", LastName = "Sky" });

Collection.Add(new Person() { FirstName = "liufei1", LastName = "Sky" });

Collection.Add(new Person() { FirstName = "liufei3", LastName = "Sky" });

//多条插入集合

db.InsertAll(Collection);

//更新语句

SQLiteCommand cmd = db.CreateCommand("update person set FirstName='lisa'where FirstName='liufei'");

cmd.ExecuteNonQuery();

//单行删除操作

db.Delete<Person>(new Person() { ID = 1 });

//多行删除

db.DeleteAll<Person>();

//查询所有数据绑定到UI

List<object> list = db.Query(new TableMapping(typeof(Person)), "select *  from  Person");

lt.ItemsSource = list;

在Win8 Mertro 中使用SQLite的更多相关文章

  1. Visual Studio 2010(.NET 4.0)中使用SQLite.NET

    Visual Studio 2010(.NET 4.0)中使用SQLite.NET   2011年4月1日 | 分类: DataBase, DOTNET | 标签: .net 4.0, SQLite. ...

  2. cocos2d-x 3.0rc2中读取sqlite文件

    cocos2d-x 3.0rc2中读取sqlite文件的方式,在Android中直接读取软件内的会失败.须要复制到可写的路径下 sqlite3* dbFile = NULL; std::string ...

  3. Android虚拟机中的sqlite数据库文件

    Android虚拟机中的sqlite数据库文件 ①

  4. Android中的SQLite使用学习

    Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...

  5. C#中使用SQLite数据库简介(上)

    [SQLite数据库] SQLite是一个开源的轻量级的桌面型数据库,它将几乎所有数据库要素(包括定义.表.索引和数据本身)都保存在一个单一的文件中.SQLite用C编写实现,它在内存消耗.文件体积. ...

  6. 在项目中使用SQLite数据库小结

    ------------------------------------------------------------------------推荐: - VS2012 使用 1.0.84 版的库 - ...

  7. Android中使用sqlite笔记

    1.实现SQLiteHelper来在android中使用SQLite.代码如下,来自android官网. public class FeedReaderDbHelper extends SQLiteO ...

  8. Android 开发中使用 SQLite 数据库

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  9. 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET

    今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...

随机推荐

  1. SwapEffect 枚举(定义交换效果)

    由于创建设备时要用到这个值,所以在这里总结一下,以免以后再找. 首先引自msdn: Copy 只能为构成单个后台缓冲区的交换链指定此交换效果. 无论交换链是有窗口的还是全屏的,运行库都保证 Devic ...

  2. 搜索插件:ack.vim

    ack.vim是Perl脚本ack的前端,对于Vim,也是grepprg和quickfix的简单封装,非常适合搜索 github地址为 https://github.com/mileszs/ack.v ...

  3. 【转】Android Service被关闭后自动重启,解决被异常kill 服务

    http://www.kaifajie.cn/android/10182-2.html 每次调用startService(Intent)的时候,都会调用该Service对象的onStartComman ...

  4. 在运行时切换 WinForm 程序的界面语言 System.ComponentModel.ComponentResourceManager .ApplyResources

    Download the code for this article: WinForm-Multilanguages-2.rar (11 KB). 方法二: 下面介绍一种只需对现有代码做较小改动的方法 ...

  5. Complete The Pattern #6 - Odd Ladder

    Complete The Pattern #6 - Odd Ladder Task: You have to write a function pattern which creates the fo ...

  6. java项目

    http://www.java1234.com/a/kaiyuan/java/ http://www.cnblogs.com/burellow/archive/2011/04/22/2024871.h ...

  7. 1316. Electronic Auction(树状数组)

    1316 我想说 要不要这么坑 WA了一个小时啊 ,都快交疯了,拿着题解的代码交都WA 最后很无语的觉得题解都错了 重读了N遍题意 发现没读错啊 难道写题解的那个人和我都想错了?? 最后把g++换个C ...

  8. poj 1840 Eqs (hash)

    题目:http://poj.org/problem?id=1840 题解:http://blog.csdn.net/lyy289065406/article/details/6647387 小优姐讲的 ...

  9. poj 2151 Check the difficulty of problems(概率dp)

    poj double 就得交c++,我交G++错了一次 题目:http://poj.org/problem?id=2151 题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 问 ...

  10. javascript两行代码按指定格式输出日期时间

    javascript两行代码按指定格式输出日期时间,具体看代码: function date2str(x,y) { var z ={y:x.getFullYear(),M:x.getMonth()+1 ...