在银光中国网(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