色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

多樣化實(shí)現(xiàn)Windows Phone 7本地?cái)?shù)據(jù)庫(kù)訪問(wèn)<上>

  最近個(gè)人的時(shí)間顯得比較緊迫,有一些想法一直沒(méi)有時(shí)間去驗(yàn)證,上周五在MSDN上公布的活動(dòng)Silverlight Events:與John Papa面對(duì)面學(xué)習(xí)Silverlight 4中因?yàn)橐粫r(shí)疏忽趕到MSDN會(huì)客廳是活動(dòng)已經(jīng)結(jié)束了。 不過(guò)我順便看看活動(dòng)中對(duì)JohnPapa提出問(wèn)題: 其中有人明確提出Silverlight 下一版本會(huì)把本地?cái)?shù)據(jù)庫(kù)訪問(wèn)支持是否會(huì)在下一個(gè)Silverlight版本加入?[可惜我沒(méi)有看到John Papa本人的回復(fù)],這突然讓我聯(lián)想到最近一直在看官方公布開(kāi)源項(xiàng)目中Windows Phone 7對(duì)本地?cái)?shù)據(jù)數(shù)據(jù)庫(kù)操作方式, 恰好上周我做了一個(gè)SQlite相關(guān)測(cè)試。 有意無(wú)意間讓我把Windows Phone 7 對(duì)本地?cái)?shù)據(jù)庫(kù)Local DataBase訪問(wèn)與開(kāi)源數(shù)據(jù)庫(kù)聯(lián)系在一起。如下是我個(gè)人對(duì)WP7本地?cái)?shù)據(jù)庫(kù)訪問(wèn)方式的驗(yàn)證,如有疑問(wèn)請(qǐng)及時(shí)提出。

  Windows Phone 7在CTP 版本時(shí)微軟官方就對(duì)開(kāi)發(fā)者提出問(wèn)題做了兩次集體回應(yīng). 一次是在3月19日 另外一次是5月19日.回復(fù)內(nèi)容詳見(jiàn)Windows Phone 7 Series Developer General FAQ (Updated 5/19/2010), 內(nèi)容中包含了WP7開(kāi)發(fā)中多個(gè)細(xì)節(jié)和下一步需要改善的方向等做了明確回復(fù). 當(dāng)然其中也包含了大家很關(guān)心的數(shù)據(jù)訪問(wèn). 具體回應(yīng)內(nèi)容如下:

在Windows Phone 7 Series的設(shè)備上有沒(méi)有本地?cái)?shù)據(jù)庫(kù)可以利用?
沒(méi)有,在最初的Windows Phone 7 Series上沒(méi)有本地?cái)?shù)據(jù)庫(kù)API可以利用
我應(yīng)該如何為我的應(yīng)用程序存儲(chǔ)信息?
你可以將信息存儲(chǔ)在自己的存儲(chǔ)空間里。如果你需要大型的數(shù)據(jù)庫(kù)這里有一些選擇:Windows Phone 7 Seires 已經(jīng)支持WebServices,它可以讓你容易的訪問(wèn)存儲(chǔ)在InterNET上的信息。使用一個(gè)可以被WebServices訪問(wèn)的數(shù)據(jù)庫(kù),你的應(yīng)用程序就可以在連接InterNET的情況下實(shí)時(shí)的獲取數(shù)據(jù).

以后會(huì)支持本地?cái)?shù)據(jù)庫(kù)嗎?
當(dāng)前我們沒(méi)有宣告這樣的計(jì)劃來(lái)增加這一功能;但是我們會(huì)密切關(guān)注開(kāi)發(fā)人員和用戶的需求并識(shí)別哪些特性會(huì)給每個(gè)人帶來(lái)好處

  如上翻譯過(guò)來(lái),更多細(xì)節(jié)請(qǐng)查看原文.

  目前WP7已經(jīng)是Beta版本了. Windows Phone 7 支持訪問(wèn)數(shù)據(jù)幾種方式為: XML、Isolated Storage[SL獨(dú)立存儲(chǔ)]、Cloud[云存儲(chǔ)].    官方意思很明確 暫不支持本地?cái)?shù)據(jù)庫(kù)訪問(wèn). 難道我們真的沒(méi)有其他選擇嗎?未必如此.

  <1>Effiproz For Windows Phone 7

  在上一篇中由Effiproz DataBase來(lái)看.NET開(kāi)源數(shù)據(jù)庫(kù)發(fā)展我提到Effiproz開(kāi)源數(shù)據(jù)庫(kù).NET多方面支持,其中就包含WP7.這為我們把Effiproz本地?cái)?shù)據(jù)庫(kù)提供訪問(wèn)WP7數(shù)據(jù)提供了可能.首先說(shuō)明Effiproz運(yùn)用在WP7條件:  Windows Phone Developer Tools Beta[最新版本]/VS2010[工具].

  首先創(chuàng)建一個(gè)WP7程序 引入Effiproz數(shù)據(jù)庫(kù)DLL[詳見(jiàn)源碼下載]到項(xiàng)目中:

  創(chuàng)建一個(gè)界面用戶輸入用戶名和密碼并 保存到Effiproz數(shù)據(jù)庫(kù)中:

  插入成功后自動(dòng)查詢并實(shí)現(xiàn)出來(lái):

  也許有人會(huì)注意到兩個(gè)FileDB和MemoryDB 按鈕. 其實(shí)對(duì)應(yīng)后臺(tái)中Effproze數(shù)據(jù)兩種存儲(chǔ)數(shù)據(jù)模式:文件和內(nèi)存模式. 上篇中我就曾講到第一個(gè)純.NET版本開(kāi)源數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題矛盾就是這兩種模式. 內(nèi)存模式中數(shù)據(jù)提取直接 速度較快. 免去File模式讀取硬盤(pán)IO和每次創(chuàng)建Connection的時(shí)間. 但是缺點(diǎn)也很致命. 速度雖然有了一定提升 但最終代價(jià)是我們數(shù)據(jù)無(wú)法再內(nèi)存消失后存儲(chǔ). 也就是數(shù)據(jù)最終無(wú)法持久化存儲(chǔ)文件中.  EffProze就是從HSQL繼承而來(lái). 所以保存這兩種模式 供用戶更多場(chǎng)景下選擇. 先看一下FileDB模式代碼實(shí)際創(chuàng)建:

private void btnFile_Click(object sender, RoutedEventArgs e)
{
//isolated storage database
string connectionString = "connection type=FILE; initial catalog=TestDb; user=SA; password=";
using (EfzConnection conn = new EfzConnection(connectionString))
{
conn.Open();
string sql = "CREATE TABLE Test(username varchar(100), password varchar(100));";
EfzCommand cmd
= conn.CreateCommand();
cmd.CommandText
= sql;
cmd.ExecuteNonQuery();
//獲取輸入數(shù)據(jù)
string getusername = this.nametxt.Text;
string getpass = this.passtxt.Text;
sql
= "INSERT INTO Test(username , password ) VALUES('" + getusername + "','"+getpass+"');";
cmd.CommandText
= sql;
int count=cmd.ExecuteNonQuery();
if (count == 1)
{
MessageBox.Show(
"數(shù)據(jù)插入成功!");
}
else
{
MessageBox.Show(
"數(shù)據(jù)插入失敗!");
}
//執(zhí)行查詢操作
sql = "SELECT * FROM TEST;";
cmd.CommandText
= sql;
EfzDataReader reader
= cmd.ExecuteReader();
reader.Read();
//添加結(jié)果顯示
//MessageBox.Show(string.Format("用戶名={0} —— 登錄密碼={1}", reader.GetInt32(0), reader.GetString(1)));
tbkText.Text = String.Format("用戶名 = {0}, 登錄密碼 = {1}, 模式=文件模式 ", reader.GetString(0), reader.GetString(1));
}
}

it知識(shí)庫(kù)多樣化實(shí)現(xiàn)Windows Phone 7本地?cái)?shù)據(jù)庫(kù)訪問(wèn)&amp;lt;上&amp;gt;,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 道真| 常山县| 光泽县| 黄大仙区| 肃北| 邮箱| 弋阳县| 德昌县| 和龙市| 淮北市| 湄潭县| 桃江县| 营口市| 延庆县| 南丹县| 拉孜县| 慈利县| 永济市| 若尔盖县| 建平县| 石楼县| 沙坪坝区| 句容市| 绵竹市| 都安| 苏州市| 齐河县| 治县。| 桂平市| 天等县| 北碚区| 万年县| 韶关市| 上饶市| 九江县| 唐海县| 拉萨市| 太仓市| 白水县| 长海县| 宁明县|