码迷,mamicode.com
首页 > 其他好文 > 详细

The Seventh Assignment

时间:2015-05-03 23:27:14      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

这周真的是被C#的三次实验整的欲仙欲死......

尤其是数据库方面....

那么今天我就来讲一讲有关sqlite在windows store app,windows phone,这两个平台该如何使用吧...(感觉简单的就像X了狗)

1.首先说说windows store app和windows phone吧(自我感觉这两个除了布局需要重新写..其他代码都可以共享

首先..windows是不会自带sqlite的...

所以在用之前要经过下面几个步骤:

1)工具->拓展与更新

  点联机,然后在右上搜索sqlite

技术分享

下载并安装这两个打钩的东西...然后重启vs

2)项目->管理NuGet程序包

  再联机搜索sqlite

技术分享

 

安装aqlite-net....然后会神奇的发现项目里多了两个文件

技术分享

然后右键项目->添加->引用->拓展

技术分享

把这两项挑上勾,确定..然后发现引用里面多了这两个东西....

但是..还差最后最关键的一步....

3)右键项目->属性->生成

把目标平台的AnyCPU改为X64

这样准备工作就做好啦~

2.sqlite在windows store app和windows phone应用上的使用方法

这个用起来真的是相当的无脑...

首先是要建一个把要存进数据库的数据打包的类

public class Affair
{
        [SQLite.AutoIncrement , SQLite.PrimaryKey]
        public int Id { set; get;}
        public string name { set; get; }
        public string content { set; get; }
        public DateTime date { set; get;}
        public int importance { set; get; }
        public int year { set; get; }
        public int month { set; get; }
        public int day { set; get; }
}

首先所有成员必须是public ,否则会报错

然后给这个类加一个主键(就是上述代码中括号的功能)

 

然后就是连接数据库并建表啦

public void init()
{
  string
DbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, fileName + ".sqlite");    database = new SQLite.SQLiteConnection(DbPath);    database.CreateTable<Affair>();
}

如果文件不存在,会新建一个文件并打开,如果表已存在建表操作就会作废.....

createTable<>()尖括号中填之前建的类,这样表就建好了(是不是感觉和非内嵌数据库比起来太简单了!!!!!!!

 

插入删除操作

//插入
public
void insert ( Affair affair ) {   init();   database.Insert<Affair>( affair );   database.SaveTransactionPoint();   database.Close(); }
//删除
public
void delete ( Affair affair ) { init(); database.Delete<Affair>( affair ); database.SaveTransactionPoint(); database.Close(); }

 

SaveTransationPoint()是保存断点....不写的话可能会出现存不上或者没删掉的现象...

查找操作

public SQLite.TableQuery<Affair> Select ( int year )
{
     init();
     return database.Table<Affair>().Where(x => x.year == year );
}

这样就返回了一个table<Affair>的对象....里面是所有满足条件的Affair的集合

var table = db.query(2013);
foreach(var item in table)
{
    ..........
}

像这样就可以对查找出来的东西进行各种操作啦...(是不是感觉特别简单...这是研究了4天4夜的成果啊23333

 

The Seventh Assignment

标签:

原文地址:http://www.cnblogs.com/tiny-home/p/4474861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!