在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. Move to Another Changelist

    Move to Another Changelist 将选中的文件转移到其他的 Change list 中. Change list 是一个重要的概念,这里需要进行重点说明.很多时候,我们开发一个项目 ...

  2. Linux的分段和分页机制

    1.分段机制 80386的两种工作模式  80386的工作模式包括实地址模式和虚地址模式(保护模式).Linux主要工作在保护模式下. 分段机制  在保护模式下,80386虚地址空间可达16K个段,每 ...

  3. bzoj3237

    首先我们可以把没有询问过的边处理掉,重构图 当然这样也不影响复杂度 考虑到每次询问要删除的边很少,我们完全可以整体处理 把询问划分成两个集合,在前半部分询问未出现边我们可以整体处理掉,缩点重编号(询问 ...

  4. bzoj3211,bzoj3038

    线段树的裸题: 但是操作很奇怪,开方是不能lazy tag的 看来只能暴力修改了 但注意,开放开到1的时候就不用开,立一个flag就可以了 这可以大大的优化: 其实我是来复习线段树的 ..] of i ...

  5. (转载)有关反演和gcd

    tips : 积性函数 F (n) = Π F (piai ) 若F (n), G (n)是积性函数则 F (n) * G (n) Σd | n F (n) 是积性函数 n = Σd | n  φ ( ...

  6. LeetCode Excel Sheet Column Title (输出excel表的列名称)

    题意:给一个数字n,输出excel表的列名称. 思路:其实观察可知道,是个26进制的标记而已.那就模拟一下,每次计算一位时就先左移1位,再进行计算. class Solution { public: ...

  7. 【JMeter】JMeter完成一个java请求的压测

    先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...

  8. eclipse 远程wifi调试android程序

    [原文]http://leanote.com/blog/view/541f8b2dbda4e44f75000000 下载wifidebug http://pan.baidu.com/s/1i3stnF ...

  9. 在ASP.NET MVC中修改默认代码生成/支架模板

    到 C:\Program Files (or x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp (or Visual ...

  10. java创建对象的四种方式

    1.最常见的 new 一个 2使用反射机制创建对象,直接调用非构造函数 Class obj=Class.forName("A"); A a=obj.newInstance(); C ...