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

所属分类: 软件编程 / C#教程 阅读数: 127
收藏 0 赞 0 分享

  1.Metro中使用SQLite数据库具体步骤如下:

  1).下载SQLite for WinRT

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

  下载Precompiled Binaries for Windows Runtime,这是一个Visual Studio的一个扩展,文件以vsix为后缀,直接双击运行即可。(如下图)

  2).为项目添加引用

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

注意:选择 SQLite for Windows Runtime 和 Microsoft Visual C++ Runtime Package

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

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

安装完成后,你的项目的根目录下会多出两个文件: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;    

        }

更多精彩内容其他人还在看

c#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多