Windows 8 MetroはSQLiteとデータベースの作成をC落で接続し、データテーブルの添削を実現しました。
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;
}