欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现

程序员文章站 2023-12-18 08:32:10
  1.metro中使用sqlite数据库具体步骤如下:   1).下载sqlite for winrt   地址:http://www.sqlite.org/down...

  1.metro中使用sqlite数据库具体步骤如下:

  1).下载sqlite for winrt

  地址:http://www.sqlite.org/download.html

  下载precompiled binaries for windows runtime,这是一个visual studio的一个扩展,文件以vsix为后缀,直接双击运行即可。(如下图)

Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现

  2).为项目添加引用

  创建一个项目,在解决方案在选择“引用->添加引用”,在引用管理器的左边列表中选择windows->扩展,然后再右边的列表中选中如下图所示:

Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现

注意:选择 sqlite for windows runtime 和 microsoft visual c++ runtime package

  3). 为项目添加c# 驱动

   在解决方案中,选择项目,单击右键,选择“管理nuget程序包”,在管理器中进行如下图的操作:

Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现

安装完成后,你的项目的根目录下会多出两个文件:sqlite.cs和sqliteasync.cs文件,我们就可以通过这两个类来操作sqlite了。

  2.创建数据库

  1).首先:声明一个memberinfo类也就是表主键自动增长

复制代码 代码如下:

   public class memberinfo

     {

           [sqlite.autoincrement, sqlite.primarykey]

       public int id { set; get; }

       public string name { set; get; }

             public int age { set; get; }

       public string address { set; get; }

     }


  2).写一个方法用于创建数据库member.sqlite和表memberinfo
复制代码 代码如下:

         {

      string path =path.combine(windows.storage.applicationdata.current.localfolder.path, "member.sqlite");    //数据文件保存的位置 

      using (var db = new sqlite.sqliteconnection(path))  //打开创建数据库和表

             {

        db.createtable<memberinfo>();

              }

          }



  3).简单的操作sqlite数据库(增,删,改,查询)
复制代码 代码如下:

     public void insert(memberinfo data)

        {       

     try

            {

       using (var db = newsqliteconnection(path))

      {

                      db.insert(data);

                }

            }

    catch(exception e)

            {

         throw e;

            }

        }

     publicvoid delete(int id)

        {

         try

              {

                  t data = select(id);

           using (var db = newsqliteconnection(path))

                  {

                      db.delete(data);

                  }

              }

       catch(exception e)

             {

       throw e;

            }

        }

   public void insert(t data)

        {

      try

             {

        using (var db = newsqliteconnection(path))

       {

                       db.insert(data);

                   }

             }

     catch(exception e)

            {

       throw e;

            }

        }

     publicvoid delete(int id)

         {       

      try

             {

                  t data = select(id);

         using (var db = newsqliteconnection(path))

                  {

                        db.delete(data);

                   }

            }

     catch(exception e)

            {

       throw e;

            }

        }

  public  memberinfo select(int id)

        {

       try

      {

        memberinfo data = null;

        using (var db = newsqliteconnection(path))

       {

          list<object> obj = db.query(newtablemapping(typeof(memberinfo)), string.format("select * from memberinfo where id={0}", id));

          if (obj != null&&obj.count>0)

                      {

                            data = obj[0]  as memberinfo;

                      }

                   }

       return data;

            }

     catch (exception e)

            {

           throw e;

            }

        }

      publicvoid updata(memberinfo data)

        {

      try

            {

      using (var db = newsqliteconnection(path))

                {

                        db.update(data);

                }

            }

       catch(exception e)

             {

        throw e;

            }

        }

    publicobservablecollection<memberinfo> selectall()

        {

       observablecollection<memberinfo> list = newobservablecollection<memberinfo>();

      using (var db =newsqliteconnection(path))

            {

         list<object> query = db.query(newtablemapping(typeof(memberinfo)), "select * from memberinfo");

         foreach (var mem in query)

                   {

             memberinfo info = mem asmemberinfo;

                        list.add(info);

                 }

            }

    return list;    

        }

上一篇:

下一篇: