当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-19

    本文导语:    1.Metro中使用SQLite数据库具体步骤如下:   1).下载SQLite for WinRT   地址:http://www.sqlite.org/download.html   下载Precompiled Binaries for Windows Runtime,这是一个Visual Studio的一个扩展,文件以vsix为后缀,直接双击运行即可。(如...

  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();

              }

          }



  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 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 SelectAll()

        {

       ObservableCollection list = newObservableCollection();

      using (var db =newSQLiteConnection(path))

            {

         List query = db.Query(newTableMapping(typeof(MemberInfo)), "select * from MemberInfo");

         foreach (var mem in query)

                   {

             MemberInfo info = mem asMemberInfo;

                        list.Add(info);

                 }

            }

    return list;    

        }


    
 
 

您可能感兴趣的文章:

  • c# 启动和停止windows服务
  • c#获取windows桌面背景代码示例
  • 基于C#实现Windows服务状态启动和停止服务的方法
  • C#启动windows服务方法的相关问题分析
  • c# 在windows服务中 使用定时器实例代码
  • C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
  • C#窗体编程(windows forms)禁止窗口最大化的方法
  • c#创建windows服务(Windows Services)详细步骤
  • c#中禁用windows的任务管理器的方法
  • C#获取Windows进程监听的TCP/UDP端口实例
  • c#创建windows服务入门教程实例
  • c# 对windows用户和组操作实例
  • c#捕获windows关机事件的实现代码
  • 用C# 控制Windows系统音量的实现方法
  • C#中Timer的简单范例(System.Windows.Forms.Timer)
  • c#不使用windows api函数打开我的电脑和获取电脑驱动器信息
  • 用C#在本地创建一个Windows帐户(DOS命令)
  • C#调用windows api关机(关机api)示例代码分享
  • C#编写Windows服务实例代码
  • 基于C#实现的仿windows左侧伸缩菜单效果
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • 关于Linux与Windows之间数据库互相访问的问题。
  • 如何恢复被linux覆盖的原Windows下数据?
  • 怎么实现Windows和Linux之间数据的接收发送
  • 怎样可以在WINDOWS下连到UNIX下的SYBASE数据库进行编程?
  • windows应如何访问UNIX/LINUX系统下的数据库?
  • unix系统有没有本地数据库?类似windows下的access
  • 救命! WINDOWS下数据丢失了,该咋办?
  • 在Linuex下如何访问windows平台下的access数据库?
  • 请问 linux与windows两个平台下如何实现高速数据传输?
  • 在Linux下该如何访问Windows分区下的数据?急
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • WinDows8最新版文件夹加密
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • 装了Linux和Windows,怎样默认进入Windows
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 怎样是编好的java application在windows上像windows应用程序一样直接运行
  • Docker宣布支持Windows 10和Azure Windows Server
  • windows 和linux双系统,重装windows后,无法启动linux?
  • win7/Windows7系统下载地址搜集整理
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 为什么在安装了WINDOWS和LINUX的电脑上,重装WINDOWS会破坏MBR?
  • IE11设置IE兼容性视图及提升Windows 8.1中IE11兼容性的相关设置
  • Linux + Windows2000 双启动,Windows2000起不来了,说是文件被破坏,进来看看……
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3