Silverlight中连接MySQL数据库实例详解_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页数据库MYSQL → Silverlight中连接MySQL数据库实例详解

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

时间:2015-06-28 00:00:00 来源:绿色软件之家 作者:网管联盟 我要评论(0)

本文将重点讲述Silverlight中连接MySQL数据库实例,这在RIA开发中比较基础,但是也是比较重要的内容。希望通过本文能让大家对连接MySQL有更深刻的理解。

在银光中国网(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. ??Select?cUserName,?cPassword ?
  5. ??From?Users ?
  6. ??Where?cUserName?=?@UserName? ?
  7. ?????RETURN? ?
  8. SET?NOCOUNT?ON?

在完成上面的准备工作后,开始建立新的Silverlight项目,

1. 建立一个新项目"SilverlightDBDemo",

新项目

2. 在MainPage中建立简单的登录界面,如下:

登陆界面

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

Web项目

4.?添加一个简单的用户信息类Users,作为WCF的契约成员,当我们从数据库中读取信息后,将赋值给该类的契约成员,方便客户端进行调用;

WCF成员

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

Users类代码

代码如下:

  1. namespace?SilverlightDBDemo.Web ?
  2. ?{ ?
  3. ?????[DataContract()] ?
  4. ?????public?class?Users?:?INotifyPropertyChanged ?
  5. ?????{ ?
  6. ? ?
  7. ???#region?INotifyPropertyChanged?Members ?
  8. ? ?
  9. ???public?event?PropertyChangedEventHandler?PropertyChanged;? ?
  10. ??#endregion ?
  11. ????} ?
  12. }??

5. 在Users类中,添加契约成员

  1. private?string?userName; ?
  2. [DataMember()] ?
  3. ?public?string?UserName ?
  4. ?{ ?
  5. ?????get?{?return?userName;?} ?
  6. ?????set?{?userName?=?value;} ?
  7. ?} ?
  8. ?
  9. ?private?string?password; ?
  10. [DataMember()] ?
  11. public?string?Password ?
  12. { ?
  13. ????get?{?return?password;??} ?
  14. ????set?{?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. ????public?class?Users?:?INotifyPropertyChanged ?
  9. ????{ ?
  10. ?private?string?userName; ?
  11. ?[DataMember()] ?
  12. ????&

    关键词标签:Silverlight,MySQL,数

相关阅读

文章评论
发表评论

热门文章 Xbox Game Pass Xbox Game Pass 10款MySQL数据库客户端图形界面管理工具推荐 10款MySQL数据库客户端图形界面管理工具推荐 MySQL常用维护管理工具 MySQL常用维护管理工具 MySQL数据库启动失败1067进程意外终止的解决办法总结 MySQL数据库启动失败1067进程意外终止的解决办法总结

相关下载

人气排行 10款MySQL数据库客户端图形界面管理工具推荐 MySQL数据库启动失败1067进程意外终止的解决办法总结 Mysql 1045错误解决办法 MySQL服务器进程CPU占用100%解决办法 MySQL导出导入命令的用例 MySQL连接字符串的实际操作步骤汇总 MySQL无法启动、无法停止各种解决方法总结 三种常用的MySQL建表语句