zoukankan      html  css  js  c++  java
  • The Seventh Assignment

    这周真的是被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 ,否则会报错

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

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

    private SQLiteConnection database; 
    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

  • 相关阅读:
    volatile关键字解析(转载)
    php
    FFT快速傅立叶变换
    高次不定方程BSGS算法
    BSGS-BabyStepGiantStep算法+拓展
    Java-数组-面向对象
    Java基础-方法(2)和数组
    Java基础-循环(2)和方法
    Java基础-循环结构
    Java基础-运算符
  • 原文地址:https://www.cnblogs.com/tiny-home/p/4474861.html
Copyright © 2011-2022 走看看