Windows 8 MetroはSQLiteとデータベースの作成をC落で接続し、データテーブルの添削を実現しました。


1.メトロでSQLiteデータベースを使用する具体的な手順は以下の通りです。
1)SQLite for WinRTをダウンロードする
住所:http://www.sqlite.org/download.html
Precompled 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)まず、Member Info類、つまりテーブルキーが自動的に増加する

   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; }

     }

を宣言します。データベースのメンバー.sqliteとテーブルmber Info

         {

      string path =Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Member.sqlite");    //  

      using (var db = new SQLite.SQLiteConnection(path))  //

             {

        db.CreateTable<MemberInfo>();

              }

          }


を作成するための方法を書きます。簡単な操作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;    

        }