一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

多樣化實現(xiàn)Windows Phone 7本地數(shù)據(jù)庫訪問<上>

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

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

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

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

  如上翻譯過來,更多細(xì)節(jié)請查看原文.

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

  <1>Effiproz For Windows Phone 7

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

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

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

  插入成功后自動查詢并實現(xiàn)出來:

  也許有人會注意到兩個FileDB和MemoryDB 按鈕. 其實對應(yīng)后臺中Effproze數(shù)據(jù)兩種存儲數(shù)據(jù)模式:文件和內(nèi)存模式. 上篇中我就曾講到第一個純.NET版本開源數(shù)據(jù)庫出現(xiàn)問題矛盾就是這兩種模式. 內(nèi)存模式中數(shù)據(jù)提取直接 速度較快. 免去File模式讀取硬盤IO和每次創(chuàng)建Connection的時間. 但是缺點(diǎn)也很致命. 速度雖然有了一定提升 但最終代價是我們數(shù)據(jù)無法再內(nèi)存消失后存儲. 也就是數(shù)據(jù)最終無法持久化存儲文件中.  EffProze就是從HSQL繼承而來. 所以保存這兩種模式 供用戶更多場景下選擇. 先看一下FileDB模式代碼實際創(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知識庫多樣化實現(xiàn)Windows Phone 7本地數(shù)據(jù)庫訪問&amp;lt;上&amp;gt;,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 久久久亚洲精品视频 | 天天色天天色 | 国产精品高清一区二区三区不卡 | 91区国产福利在线观看午夜 | 91插插插插插 | 伊人9999 | 中国一级特黄特色真人毛片 | 欧美成人tv | 成人免费午夜视频 | 久久精品成人国产午夜 | 久久五月天婷婷 | 国产视频 一区二区 | 人人狠狠综合久久亚洲88 | 普通话对白国产情侣自啪 | 国产天天操 | 天天综合网天天综合色 | 91精品国产自产在线观看高清 | 久在草影院 | 99国产精品国产精品 | 久久国产亚洲 | 四虎最新入口 | 国产在线视频网址 | 成人在免费观看视频国产 | 激情深爱| 精品新一区二区三区四区 | 搞黄免费视频 | 狠狠干一区 | 91麻豆精品国产高清在线 | 久久一日本道色综合久久m 久久伊人草 | 在线播放 亚洲 | 国产亚洲精品网站 | 91成人午夜精品福利院在线观看 | 日韩视频一区 | 国产精品亚洲综合网站 | 亚洲十欧美十日韩十国产 | 91精品国产免费久久久久久 | 精品视频999| 国产91免费在线观看 | 欧美大色网 | 大尺度福利视频 | 91精品国产免费自在线观看 |