2022年详解Silverlight访问SQL数据库 .pdf
《2022年详解Silverlight访问SQL数据库 .pdf》由会员分享,可在线阅读,更多相关《2022年详解Silverlight访问SQL数据库 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、详解 Silverlight访问 SQL数据库【附示例源码下载】发布时间:2010 年 05 月 04 日点击数:1069 次佚名我们要实现,用户输入用户名和密码后,点击登录按钮,传递用户名和密码到服务器端,通过 WCF 访问 MSSQL 数据库,调用存储过程,在服务器端对用户名和密码进行匹配,匹配成功,则返回登录成功,否则,则是失败。【示例源码下载】在文章开始前,我们需要做一下准备工作,开发环境需求:VS2008 SP1,Silverlight 3 Develop Tools for VS2008 SP1,客户端 Silverlight 3 Runtime,MSSQL 2005 SP3;建立
2、例程数据库 SilverlightDemo,在数据库中建立一个新表 Users,包含以下字段;添加内容到Users 表,为了方便起见,密码全部使用明文,在正式项目中,建议对密码字段进行加密使用。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 16 页 -这里,我们验证用户名和密码,有两种简单方式,一是使用存储过程读取用户名和密码,然后在服务器端进行用户名和密码匹配校验,如果查找到匹配数据,则返回登录成功,否则,则是登录失败;二是传用户名和密码到存储过程中,在数据库存储过程中进行判断,使用Select语句进行查找,对应用户名和密码,如果查找到匹配结果,则返回用户ID,服务器端接收到
3、用户ID,则返回登录成功,否则,则是失败;在本例中,主要是对Silverlight访问数据库进行讲述,所以,对于验证方法,不进行详细描述和讲解,如果有问题,可以留言给我,我们继续讨论,这里,我将使用第一种验证方法。为此,建立一个简单的存储过程:1.CREATEPROCEDURE dbo.Login 2.(UserName Varchar(30)3.AS4.5.Select cUserName,cPassword 6.From Users 7.Where cUserName=UserName 8.9.RETURN10.11.SET NOCOUNT ON在完成上面的准备工作后,开始建立新的Silv
4、erlight项目,1.建立一个新项目SilverlightDBDemo,名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 16 页 -2.在 MainPage 中建立简单的登录界面,如下3.在 Web项目中添加新选项名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 16 页 -4.添加一个简单的用户信息类Users,作为 WCF 的契约成员,当我们从数据库中读取信息后,将赋值给该类的契约成员,方便客户端进行调用;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 16 页 -VS2008将自动生成Users 类代码,在类命名前添加数据契约属性DataCont
5、ract()。为了能够使绑定数据返回修改通知,这里需要继承INotifyPropertyChanged接口,该步骤不添加对本教程也没有影响,为了以后例程代码完整性,这里我继承了该接口。在接口上点击右键,生成代码。代码如下:1.namespace SilverlightDBDemo.Web 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 16 页 -2.3.DataContract()4.publicclass Users:INotifyPropertyChanged 5.6.7.#region INotifyPropertyChanged Members 8.9.publicev
6、ent PropertyChangedEventHandler PropertyChanged;10.11.#endregion 12.13.5.在 Users 类中,添加契约成员1.privatestring userName;2.DataMember()3.publicstring UserName 4.5.get return userName;6.set userName=value;7.8.9.privatestring password;10.DataMember()11.publicstring Password 12.13.get return password;14.set
7、password=value;15.6.建立构造函数 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.publicclass Users:INotifyPropertyChanged 9.名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共
8、 16 页 -10.privatestring userName;11.DataMember()12.publicstring UserName 13.14.get return userName;15.set userName=value;16.17.18.privatestring password;19.DataMember()20.publicstring Password 21.22.get return password;23.set password=value;24.25.26.public Users(string sUserName,string sPassword)27.
9、28.UserName=sUserName;29.Password=sPassword;30.31.32.#region INotifyPropertyChanged Members 33.34.publicevent PropertyChangedEventHandler PropertyChanged;35.36.#endregion 37.38.7.添加 Silverlight-enabled WCF Service,修改服务名字为 DBService.svc,需要注意的是,WCF service 对于 Silverlight仅支持 BasicHttpBinding,而 VS2008自动
10、生成是customBinding,很多朋友说使用了Silverlight-enabled WCF Service,链接数据库仍旧失败,无法找到远程服务器,是因为没有使用BasicHttpBinding进行通讯,造成的失败。后文我将讲述如何修改。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 16 页 -8.添加后,在Web服务器端会有DBService.svc和 DBService.svc.cs文件出现,VS2008将自动更新Web项目的类库引用;9.双击进入DBService.svc.cs文件,可以看到以下代码:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 16
11、 页 -1.using System;2.using System.Linq;3.using System.Runtime.Serialization;4.using System.ServiceModel;5.using System.ServiceModel.Activation;6.using System.Collections.Generic;7.using System.Text;8.9.namespace SilverlightDBDemo.Web 10.11.ServiceContract(Namespace=)12.AspNetCompatibilityRequirement
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年详解Silverlight访问SQL数据库 2022 详解 Silverlight 访问 SQL 数据库
限制150内