IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)MYSQL → Silverlight中連接MySQL數(shù)據(jù)庫(kù)實(shí)例詳解

Silverlight中連接MySQL數(shù)據(jù)庫(kù)實(shí)例詳解

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

本文將重點(diǎn)講述Silverlight中連接MySQL數(shù)據(jù)庫(kù)實(shí)例,這在RIA開(kāi)發(fā)中比較基礎(chǔ),但是也是比較重要的內(nèi)容。希望通過(guò)本文能讓大家對(duì)連接MySQL有更深刻的理解。

在銀光中國(guó)網(wǎng)(SilverlightChina.Net)有一篇"Silverlight與常用數(shù)據(jù)庫(kù)互操作系列"文章,其中介紹了使用Silverlight存取不同數(shù)據(jù)庫(kù)的方法和步驟。但是對(duì)于Silverlight存取MS SQL介紹的不夠全面,這里我想介紹Silverlight如何通過(guò)WCF訪問(wèn)MSSQL數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的。希望對(duì)大家能夠有所幫助。

我們要實(shí)現(xiàn), 用戶輸入用戶名和密碼后,點(diǎn)擊登錄按鈕,傳遞用戶名和密碼到服務(wù)器端, 通過(guò)WCF訪問(wèn)MSSQL數(shù)據(jù)庫(kù),調(diào)用存儲(chǔ)過(guò)程,在服務(wù)器端對(duì)用戶名和密碼進(jìn)行匹配,匹配成功,則返回登錄成功,否則,則是失敗。

在文章開(kāi)始前,我們需要做一下準(zhǔn)備工作,

開(kāi)發(fā)環(huán)境需求: VS2008 SP1, Silverlight 3 Develop Tools for VS2008 SP1, 客戶端Silverlight 3 Runtime, MSSQL 2005 SP3 ;

建立例程數(shù)據(jù)庫(kù) SilverlightDemo,在數(shù)據(jù)庫(kù)中建立一個(gè)新表 Users,包含以下字段;

建立新表

添加內(nèi)容到Users表,為了方便起見(jiàn),密碼全部使用明文,在正式項(xiàng)目中,建議對(duì)密碼字段進(jìn)行加密使用。

字碼段加密

這里,我們驗(yàn)證用戶名和密碼,有兩種簡(jiǎn)單方式,

一是使用存儲(chǔ)過(guò)程讀取用戶名和密碼,然后在服務(wù)器端進(jìn)行用戶名和密碼匹配校驗(yàn),如果查找到匹配數(shù)據(jù),則返回登錄成功,否則,則是登錄失?。?/p>

二是傳用戶名和密碼到存儲(chǔ)過(guò)程中,在數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程中進(jìn)行判斷,使用Select語(yǔ)句進(jìn)行查找,對(duì)應(yīng)用戶名和密碼,如果查找到匹配結(jié)果,則返回用戶ID,?服務(wù)器端接收到用戶ID,則返回登錄成功,否則,則是失?。?/p>

在本例中,主要是對(duì)Silverlight訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行講述,所以,對(duì)于驗(yàn)證方法,不進(jìn)行詳細(xì)描述和講解,如果有問(wèn)題,可以留言給我,我們繼續(xù)討論,這里,我將使用第一種驗(yàn)證方法。 為此,建立一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程:

  1. CREATE?PROCEDURE?[dbo].[Login] ?
  2. (?@UserName?Varchar(30)) ?
  3. ?AS????? ?
  4. ??Select?cUserName,?cPassword ?
  5. ??From?Users ?
  6. ??Where?cUserName?=?@UserName? ?
  7. ?????RETURN? ?
  8. SET?NOCOUNT?ON?

在完成上面的準(zhǔn)備工作后,開(kāi)始建立新的Silverlight項(xiàng)目,

1. 建立一個(gè)新項(xiàng)目"SilverlightDBDemo",

新項(xiàng)目

2. 在MainPage中建立簡(jiǎn)單的登錄界面,如下:

登陸界面

3. 在Web項(xiàng)目中添加新選項(xiàng)

Web項(xiàng)目

4.?添加一個(gè)簡(jiǎn)單的用戶信息類Users,作為WCF的契約成員,當(dāng)我們從數(shù)據(jù)庫(kù)中讀取信息后,將賦值給該類的契約成員,方便客戶端進(jìn)行調(diào)用;

WCF成員

VS2008將自動(dòng)生成Users類代碼,在類命名前添加數(shù)據(jù)契約屬性[DataContract()]。 為了能夠使綁定數(shù)據(jù)返回修改通知,這里需要繼承INotifyPropertyChanged接口,該步驟不添加對(duì)本教程也沒(méi)有影響,為了以后例程代碼完整性,這里我繼承了該接口。在接口上點(diǎn)擊右鍵,生成代碼。

Users類代碼

代碼如下:

  1. namespace?SilverlightDBDemo.Web ?
  2. ?{ ?
  3. ?????[DataContract()] ?
  4. ?????public?class?Users?:?INotifyPropertyChanged ?
  5. ?????{ ?
  6. ? ?
  7. ???#region?INotifyPropertyChanged?Members ?
  8. ? ?
  9. ???public?event?PropertyChangedEventHandler?PropertyChanged;? ?
  10. ??#endregion ?
  11. ????} ?
  12. }??

5. 在Users類中,添加契約成員

  1. private?string?userName; ?
  2. [DataMember()] ?
  3. ?public?string?UserName ?
  4. ?{ ?
  5. ?????get?{?return?userName;?} ?
  6. ?????set?{?userName?=?value;} ?
  7. ?} ?
  8. ?
  9. ?private?string?password; ?
  10. [DataMember()] ?
  11. public?string?Password ?
  12. { ?
  13. ????get?{?return?password;??} ?
  14. ????set?{?password?=?value;?} ?
  15. }?

6. 建立構(gòu)造函數(shù) public Users(string sUserName,string sPassword),傳遞用戶名和密碼給契約成員;

  1. using?System; ?
  2. using?System.ComponentModel; ?
  3. using?System.Runtime.Serialization; ?
  4. ?
  5. namespace?SilverlightDBDemo.Web ?
  6. { ?
  7. ????[DataContract()] ?
  8. ????public?class?Users?:?INotifyPropertyChanged ?
  9. ????{ ?
  10. ?private?string?userName; ?
  11. ?[DataMember()] ?
  12. ????&

    關(guān)鍵詞標(biāo)簽:Silverlight,MySQL,數(shù)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Xbox Game Pass Xbox Game Pass 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL常用維護(hù)管理工具 MySQL常用維護(hù)管理工具 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)

相關(guān)下載

人氣排行 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) Mysql 1045錯(cuò)誤解決辦法 MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法 MySQL導(dǎo)出導(dǎo)入命令的用例 MySQL連接字符串的實(shí)際操作步驟匯總 MySQL無(wú)法啟動(dòng)、無(wú)法停止各種解決方法總結(jié) 三種常用的MySQL建表語(yǔ)句