Windows 8 Metro用C#連接SQLite及創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表的增刪改查的實現(xiàn)
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# 驅動
在解決方案中,選擇項目,單擊右鍵,選擇“管理NuGet程序包”,在管理器中進行如下圖的操作:

安裝完成后,你的項目的根目錄下會多出兩個文件:SQLite.cs和SQLiteAsync.cs文件,我們就可以通過這兩個類來操作SQLite了。
2.創(chuàng)建數(shù)據(jù)庫
1).首先:聲明一個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; } } 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>(); } } { 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; }
public class MemberInfo
2).寫一個方法用于創(chuàng)建數(shù)據(jù)庫Member.sqlite和表MemberInfo
{
3).簡單的操作sqlite數(shù)據(jù)庫(增,刪,改,查詢)
public void Insert(MemberInfo data)
相關文章
C#解決SQlite并發(fā)異常問題的方法(使用讀寫鎖)
這篇文章主要介紹了C#解決SQlite并發(fā)異常問題的方法,通過使用讀寫鎖達到多線程安全訪問,進而解決SQLite并發(fā)異常的問題,具有一定參考借鑒價值,需要的朋友可以參考下2016-07-07
C#實現(xiàn)多線程啟動停止暫停繼續(xù)的示例代碼
本文主要介紹了C#實現(xiàn)多線程啟動停止暫停繼續(xù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-01-01
Unity的IPostBuildPlayerScriptDLLs實用案例深入解析
這篇文章主要為大家介紹了Unity的IPostBuildPlayerScriptDLLs實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
C# .Net實現(xiàn)灰度圖和HeatMap熱力圖winform(進階)
本文主要介紹了C# .NET實現(xiàn)簡易灰度圖和酷炫HeatMap熱力圖winform,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12

