当前位置: 首页 > web开发 > Silverlight > 正文

Silverlight访问MSSQL数据库详解

时间:2011-04-13 博客园 jv9

在银光中国网(SilverlightChina.Net)有一篇"Silverlight与常用数据库互操作系列" 文章,其中介绍了使用Silverlight存取不同数据库的方法和步骤。但是对于Silverlight存 取MS SQL介绍的不够全面,这里我想介绍Silverlight如何通过WCF访问MSSQL数据库存储过程 的。希望对大家能够有所帮助。

我们要实现, 用户输入用户名和密码后,点击登录按钮,传递用户名和密码到服务器端, 通过WCF访问MSSQL数据库,调用存储过程,在服务器端对用户名和密码进行匹配,匹配成功 ,则返回登录成功,否则,则是失败。

在文章开始前,我们需要做一下准备工作,

开发环境需求: VS2008 SP1, Silverlight 3 Develop Tools for VS2008 SP1, 客户 端Silverlight 3 Runtime, MSSQL 2005 SP3 ;

建立例程数据库 SilverlightDemo,在数据库中建立一个新表 Users,包含以下字段;

添加内容到Users表,为了方便起见,密码全部使用明文,在正式项目中,建议对密码字 段进行加密使用。

这里,我们验证用户名和密码,有两种简单方式,

一是使用存储过程读取用户名和密码,然后在服务器端进行用户名和密码匹配校验,如果 查找到匹配数据,则返回登录成功,否则,则是登录失败;

二是传用户名和密码到存储过程中,在数据库存储过程中进行判断,使用Select语句进行 查找,对应用户名和密码,如果查找到匹配结果,则返回用户ID, 服务器端接收到用户ID ,则返回登录成功,否则,则是失败;

在本例中,主要是对Silverlight访问数据库 进行讲述,所以,对于验证方法,不进行详细描述和讲解,如果有问题,可以留言给我,我 们继续讨论,这里,我将使用第一种验证方法。 为此,建立一个简单的存储过程:

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