時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)
本文將重點(diǎn)講述Silverlight中連接mysql數(shù)據(jù)庫實(shí)例,這在RIA開發(fā)中比較基礎(chǔ),但是也是比較重要的內(nèi)容。希望通過本文能讓大家對(duì)連接MySQL有更深刻的理解。
在銀光中國(guó)網(wǎng)(SilverlightChina.Net)有一篇"Silverlight與常用數(shù)據(jù)庫互操作系列"文章,其中介紹了使用Silverlight存取不同數(shù)據(jù)庫的方法和步驟。但是對(duì)于Silverlight存取MS SQL介紹的不夠全面,這里我想介紹Silverlight如何通過WCF訪問MSSQL數(shù)據(jù)庫存儲(chǔ)過程的。希望對(duì)大家能夠有所幫助。
我們要實(shí)現(xiàn), 用戶輸入用戶名和密碼后,點(diǎn)擊登錄按鈕,傳遞用戶名和密碼到服務(wù)器端, 通過WCF訪問MSSQL數(shù)據(jù)庫,調(diào)用存儲(chǔ)過程,在服務(wù)器端對(duì)用戶名和密碼進(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ù)庫中建立一個(gè)新表 Users,包含以下字段;
添加內(nèi)容到Users表,為了方便起見,密碼全部使用明文,在正式項(xiàng)目中,建議對(duì)密碼字段進(jìn)行加密使用。
這里,我們驗(yàn)證用戶名和密碼,有兩種簡(jiǎn)單方式,
一是使用存儲(chǔ)過程讀取用戶名和密碼,然后在服務(wù)器端進(jìn)行用戶名和密碼匹配校驗(yàn),如果查找到匹配數(shù)據(jù),則返回登錄成功,否則,則是登錄失。
二是傳用戶名和密碼到存儲(chǔ)過程中,在數(shù)據(jù)庫存儲(chǔ)過程中進(jìn)行判斷,使用Select語句進(jìn)行查找,對(duì)應(yīng)用戶名和密碼,如果查找到匹配結(jié)果,則返回用戶ID, 服務(wù)器端接收到用戶ID,則返回登錄成功,否則,則是失;
在本例中,主要是對(duì)Silverlight訪問數(shù)據(jù)庫進(jìn)行講述,所以,對(duì)于驗(yàn)證方法,不進(jìn)行詳細(xì)描述和講解,如果有問題,可以留言給我,我們繼續(xù)討論,這里,我將使用第一種驗(yàn)證方法。 為此,建立一個(gè)簡(jiǎn)單的存儲(chǔ)過程:
- CREATE PROCEDURE [dbo].[Login]
- ( @UserName Varchar(30))
- AS
- Select cUserName, cPassword
- From Users
- Where cUserName = @UserName
- RETURN
- SET NOCOUNT ON
在完成上面的準(zhǔn)備工作后,開始建立新的Silverlight項(xiàng)目,
1. 建立一個(gè)新項(xiàng)目"SilverlightDBDemo",
2. 在MainPage中建立簡(jiǎn)單的登錄界面,如下:
3. 在Web項(xiàng)目中添加新選項(xiàng)
4. 添加一個(gè)簡(jiǎn)單的用戶信息類Users,作為WCF的契約成員,當(dāng)我們從數(shù)據(jù)庫中讀取信息后,將賦值給該類的契約成員,方便客戶端進(jìn)行調(diào)用;
VS2008將自動(dòng)生成Users類代碼,在類命名前添加數(shù)據(jù)契約屬性[DataContract()]。 為了能夠使綁定數(shù)據(jù)返回修改通知,這里需要繼承INotifyPropertyChanged接口,該步驟不添加對(duì)本教程也沒有影響,為了以后例程代碼完整性,這里我繼承了該接口。在接口上點(diǎn)擊右鍵,生成代碼。
代碼如下:
- namespace SilverlightDBDemo.Web
- {
- [DataContract()]
- public class Users : INotifyPropertyChanged
- {
- #region INotifyPropertyChanged Members
- public event PropertyChangedEventHandler PropertyChanged;
- #endregion
- }
- }
5. 在Users類中,添加契約成員
- private string userName;
- [DataMember()]
- public string UserName
- {
- get { return userName; }
- set { userName = value;}
- }
- private string password;
- [DataMember()]
- public string Password
- {
- get { return password; }
- set { password = value; }
- }
6. 建立構(gòu)造函數(shù) public Users(string sUserName,string sPassword),傳遞用戶名和密碼給契約成員;
- using System;
- using System.ComponentModel;
- using System.Runtime.Serialization;
- namespace SilverlightDBDemo.Web
- {
- [DataContract()]
- public class Users : INotifyPropertyChanged
- {
- private string userName;
- [DataMember()]
- &
關(guān)鍵詞標(biāo)簽:Silverlight,MySQL,數(shù)
相關(guān)閱讀
熱門文章 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL常用維護(hù)管理工具Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)MySQL復(fù)制的概述、安裝、故障、技巧、工具
人氣排行 MySQL數(shù)據(jù)庫啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)Mysql 1045錯(cuò)誤解決辦法10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法MySQL導(dǎo)出導(dǎo)入命令的用例MySQL無法啟動(dòng)、無法停止各種解決方法總結(jié)三種常用的MySQL建表語句Mysql清空表的實(shí)現(xiàn)方法