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

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

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

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

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

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

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

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

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

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

建立新表

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

字碼段加密

這里,我們驗證用戶名和密碼,有兩種簡單方式,

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

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

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

  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)備工作后,開始建立新的Silverlight項目,

1. 建立一個新項目"SilverlightDBDemo",

新項目

2. 在MainPage中建立簡單的登錄界面,如下:

登陸界面

3. 在Web項目中添加新選項

Web項目

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

WCF成員

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

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)閱讀

文章評論
發(fā)表評論

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

相關(guān)下載

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