麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

Windows 8 Metro用C#連接SQLite及創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表的增刪改查的實現(xiàn)

2020-01-24 03:25:49
字體:
供稿:網(wǎng)友

  1.Metro中使用SQLite數(shù)據(jù)庫具體步驟如下:

  1).下載SQLite for WinRT

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

  下載Precompiled Binaries for Windows Runtime,這是一個Visual Studio的一個擴展,文件以vsix為后綴,直接雙擊運行即可。(如下圖)

  2).為項目添加引用

  創(chuàng)建一個項目,在解決方案在選擇“引用->添加引用”,在引用管理器的左邊列表中選擇Windows->擴展,然后再右邊的列表中選中如下圖所示:

注意:選擇 SQLite for Windows Runtime 和 Microsoft Visual C++ Runtime Package

  3). 為項目添加C# 驅(qū)動

   在解決方案中,選擇項目,單擊右鍵,選擇“管理NuGet程序包”,在管理器中進行如下圖的操作:

安裝完成后,你的項目的根目錄下會多出兩個文件:SQLite.cs和SQLiteAsync.cs文件,我們就可以通過這兩個類來操作SQLite了。

  2.創(chuàng)建數(shù)據(jù)庫

  1).首先:聲明一個MemberInfo類也就是表主鍵自動增長

復(fù)制代碼 代碼如下:

   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).寫一個方法用于創(chuàng)建數(shù)據(jù)庫Member.sqlite和表MemberInfo
復(fù)制代碼 代碼如下:

         {

      string path =Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Member.sqlite");    //數(shù)據(jù)文件保存的位置 

      using (var db = new SQLite.SQLiteConnection(path))  //打開創(chuàng)建數(shù)據(jù)庫和表

             {

        db.CreateTable<MemberInfo>();

              }

          }



  3).簡單的操作sqlite數(shù)據(jù)庫(增,刪,改,查詢)
復(fù)制代碼 代碼如下:

     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;    

        }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九九热九九热 | 国产成年人视频 | 毛片在哪里看 | 国产精品99久久久久久宅女 | 亚洲人成网站免费播放 | 精品国产视频一区二区三区 | 国产美女做爰免费视 | china对白普通话xxxx | 久久国产夫妻视频 | 国产一区精品视频 | 国产精品久久久乱弄 | 亚洲视频网 | 日日噜噜夜夜爽 | 99精品视频在线观看免费 | 亚洲网站免费观看 | 久久欧美亚洲另类专区91大神 | 亚洲午夜1000理论片aa | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 精品一区视频 | 毛片a级毛片免费播放100 | 久久精品一区二区三区国产主播 | 久久精精品 | 法国性经典xxxhd | 国产一级淫片a级aaa | 久久久久久久久久久久免费 | 久久精品中文字幕一区二区三区 | 国产二区三区在线播放 | 黄在线免费看 | 九九精品在线观看 | 亚洲成人午夜精品 | av免费在线不卡 | 成人在线观看小视频 | 美女毛片在线观看 | h视频在线免费观看 | japanesexxxxxxxhd| 91九色福利 | 免费黄色欧美视频 | 亚洲精品 欧美 | 欧美a在线观看 | av免费在线不卡 | 久久精品国产精品亚洲 |