Windows 8 Metro用C#連接SQLite及創(chuàng)建數(shù)據(jù)庫(kù),數(shù)據(jù)表的增刪改查的實(shí)現(xiàn)
1.Metro中使用SQLite數(shù)據(jù)庫(kù)具體步驟如下:
1).下載SQLite for WinRT
地址:http://www.sqlite.org/download.html
下載Precompiled Binaries for Windows Runtime,這是一個(gè)Visual Studio的一個(gè)擴(kuò)展,文件以vsix為后綴,直接雙擊運(yùn)行即可。(如下圖)

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

注意:選擇 SQLite for Windows Runtime 和 Microsoft Visual C++ Runtime Package
3). 為項(xiàng)目添加C# 驅(qū)動(dòng)
在解決方案中,選擇項(xiàng)目,單擊右鍵,選擇“管理NuGet程序包”,在管理器中進(jìn)行如下圖的操作:

安裝完成后,你的項(xiàng)目的根目錄下會(huì)多出兩個(gè)文件:SQLite.cs和SQLiteAsync.cs文件,我們就可以通過(guò)這兩個(gè)類來(lái)操作SQLite了。
2.創(chuàng)建數(shù)據(jù)庫(kù)
1).首先:聲明一個(gè)MemberInfo類也就是表主鍵自動(dòng)增長(zhǎng) { [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ù)庫(kù)和表 { 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).寫一個(gè)方法用于創(chuàng)建數(shù)據(jù)庫(kù)Member.sqlite和表MemberInfo
{
3).簡(jiǎn)單的操作sqlite數(shù)據(jù)庫(kù)(增,刪,改,查詢)
public void Insert(MemberInfo data)
相關(guān)文章
漢字轉(zhuǎn)拼音軟件制件示例(漢字轉(zhuǎn)字母)
這篇文章主要介紹了c#漢字轉(zhuǎn)拼音的方法,但不能判斷多音字,大家可以參考修改使用2014-01-01
C#調(diào)用百度翻譯實(shí)現(xiàn)翻譯HALCON的示例
HALCON示例程序的描述部分一直是英文的,看起來(lái)很不方便。本文就使用百度翻譯實(shí)現(xiàn)翻譯HALCON,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
C#解決SQlite并發(fā)異常問(wèn)題的方法(使用讀寫鎖)
這篇文章主要介紹了C#解決SQlite并發(fā)異常問(wèn)題的方法,通過(guò)使用讀寫鎖達(dá)到多線程安全訪問(wèn),進(jìn)而解決SQLite并發(fā)異常的問(wèn)題,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
詳解如何利用C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音功能
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#實(shí)現(xiàn)多線程啟動(dòng)停止暫停繼續(xù)的示例代碼
本文主要介紹了C#實(shí)現(xiàn)多線程啟動(dòng)停止暫停繼續(xù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Unity的IPostBuildPlayerScriptDLLs實(shí)用案例深入解析
這篇文章主要為大家介紹了Unity的IPostBuildPlayerScriptDLLs實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
C# .Net實(shí)現(xiàn)灰度圖和HeatMap熱力圖winform(進(jìn)階)
本文主要介紹了C# .NET實(shí)現(xiàn)簡(jiǎn)易灰度圖和酷炫HeatMap熱力圖winform,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
C#實(shí)現(xiàn)基于IE內(nèi)核的簡(jiǎn)單瀏覽器完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)基于IE內(nèi)核的簡(jiǎn)單瀏覽器,較為詳細(xì)的分析了C#實(shí)現(xiàn)瀏覽器的原理與主要功能實(shí)現(xiàn)方法,并附帶完整實(shí)例供大家下載,需要的朋友可以參考下2015-07-07

