在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. VC编程技巧:IE控件的高级用法

    一.如何显示内存中的 HTML 网页 二.屏蔽 IE 控件的上下文菜单 三.扩展 HTML 脚本中的 external 对象 四.显示 HTML 样式的对话窗 五.执行 HTML 脚本 http:// ...

  2. CCS使用TIPS

    2013-06-20 09:37:49 CCS使用TIPS: 代码编写: CCS中通过Using CodeSense方便写代码,跟VC助手类似,具体使用方法在ccs的help中搜索using visu ...

  3. (转)详解LVS负载均衡之三种工作模型原理和10种调度算法

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxnx.blog.51cto.com/6676498/1195379 LV ...

  4. Innodb parent table open时导致crash

    case描述: innodb中,父表和子表通过foreign constraint进行关联, 因为在更新数据时需要check 外键constraint,如果父表被大量的子表reference, 那么在 ...

  5. vijos1049送给圣诞夜的礼品

    这题犯了两个sb错误,写下来,为以后做个警告 一.mul过程中将k作为了循环变量 二.看错了题…… 题目中说是数到k行,而我却以为数k遍…… 做矩阵乘法,只要记住一句话:置换一定可以写成矩阵的形式! ...

  6. NOI2006最大获利

    终于搞明白了…… x到y有边意味着选x必须选y,所以才会有闭合子图中一个点的后继一定也在这个闭合子图中. 接下来按照s连正权,负权连t就ok了 type node=record go,next,c:l ...

  7. -_-#【Dom Ready / Dom Load】

    Dom Ready和Dom Load DOM Ready 详解 javascript的domReady 域名解析 - 加载html - 加载js和css - Dom Ready - 加载图片等其他信息 ...

  8. 【 D3.js 高级系列 — 1.1 】 封装文本自动换行

    在[高级 - 第 1.0 章]中讲解了在 SVG 中如何配合使用 text 和 tspan 来实现换行的功能,本文对此功能进行一下封装,以后就可以直接用了. 1. 引用 js 文件 下载地址:mult ...

  9. c语言中 int *p = NULL 和 *p = NULL 有什么区别

    1. int *p = NULL; 代表定义一个指向整型变量的指针p,然后p的值设为NULL,也就是设为0:用另一种方式说,就是对一个刚定义的指向整型变量的指针,赋初始值,让其指向0地址. 2. *p ...

  10. Fine Uploader文件上传组件

    最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要 ...