您当前位置:主页 > 资讯攻略 >
来源:未知
2020-09-02 18:32:30 浏览: 分类:资讯攻略

Silverlight中连接MySQL数据库实例详解

本文将重点讨论在Silverlight中连接mysql数据库的例子,这是RIA开发中的基础,但也很重要。希望这篇文章能让你对连接MySQL有更深的理解。

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

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

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

开发环境要求:vs2008 SP1,Silverlight 3开发工具VS 2008 SP1,客户端Silverlight 3运行时,MSSQL 2005 SP3;

建立例行数据库SilverlightDemo,并在数据库中建立一个新的用户表,其中包含以下字段;

建立新表

将内容添加到用户表中。为了方便起见,所有密码都是明文。在正式项目中,建议加密密码字段。

字码段加密

在这里,我们验证用户名和密码。有两种简单的方法,

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

第二,将用户名和密码传递给存储进程,在数据库存储进程中进行判断。Select语句用于搜索相应的用户名和密码。如果找到匹配结果,则返回用户ID。如果服务器收到用户ID,则返回登录成功;否则就是失败。

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

CREATEPROCEDURE[dbo].[Login] (@UserNameVarchar(30)) AS SelectcUserName,cPassword FromUsers WherecUserName=@UserName RETURN SETNOCOUNTON

完成以上准备工作后,开始构建新的Silverlight项目,

1.创建一个新项目“SilverlightDBDemo & quot,

新项目

2.在主页中建立一个简单的登录界面,如下所示:

登陆界面

3.在Web项目中添加新选项

Web项目

4.添加一个简单的用户信息类Users,作为WCF的合同成员。当我们从数据库中读取信息时,会将其赋给这个类的契约成员,方便客户端调用;

WCF成员

VS2008将自动生成用户类代码,并在类命名之前添加数据契约属性[DataContract()]。为了使绑定数据能够返回修改通知,这里需要继承INotifyPropertyChanged接口。如果不添加,此步骤对本教程没有影响。为了以后例程代码的完整性,我在这里继承了这个接口。右键单击接口以生成代码。

Users类代码

代码如下:

namespaceSilverlightDBDemo.Web { [DataContract()] publicclassUsers:INotifyPropertyChanged { #regionINotifyPropertyChangedMembers publiceventPropertyChangedEventHandlerPropertyChanged; #endregion } }

5.在Users类中,添加合同成员。

privatestringuserName; [DataMember()] publicstringUserName { get{returnuserName;} set{userName=value;} } privatestringpassword; [DataMember()] publicstringPassword { get{returnpassword;} set{password=value;} }

6.建立构造函数public users (string susername,string s password),并将用户名和密码传递给契约成员;

usingSystem; usingSystem.ComponentModel; usingSystem.Runtime.Serialization; namespaceSilverlightDBDemo.Web { [DataContract()] publicclassUsers:INotifyPropertyChanged { privatestringuserName; [DataMember()] &

关键词:Silverlight,MySQL,number

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227198.html

攻略资讯
安卓软件