Silverlight实用窍门系列:30.Silverlight中创建一个最简单的WCF RIA Services访问数据库实例【实例源码+数据库下载】

简介:

本文将建立一个最简单的WCF RIA Services访问数据库的实例,附带有数据库文件,可以在Sql Server中附加数据库,在本文中并没有采用ADO.NET实体数据模型绑定数据库,而是单独写一个类来连接数据库查询数据表并返回值,下面我们看详细步骤。

        第一步:首先我们打开VS2010,新建一个Silverlight应用程序项目SLGetDataFromWCFRIA。

        第二步:点击确定之后,在弹出的“新建Silverlight应用程序”窗口中,选中“启用 WCF RIA 服务”复选框然后确定。

        第三步:在创建好的项目中,鼠标右键点击“SLGetDataFromWCFRIA.Web”项目,然后“添加”-->“新建项”-->“WCF服务”,命名为SLWCFRIA.svc。

        第四步:在上一步生成的ISLWCFRIA.cs文件中,我们可以定义相关的通信的契约,在本实例中我们定义一个string GetData()契约。

        第五步:在SLWCFRIA.svc.cs文件中我们实现这个契约函数,代码如下:

复制代码
  
  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace SLGetDataFromWCFRIA.Web
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“SLWCFRIA”。
public class SLWCFRIA : ISLWCFRIA
{
public void DoWork()
{
}
public string GetData()
{
DataSet ds
= DB.Getdata( " select * from userinfo " );
return ds.GetXml();
}
}
}
复制代码

        第七步:我们在SQL SERVER2008中创建一个示例数据库名为SLRiaTest。在这个数据库里面新增一个UserInfo表,在里面添加字段如下:

        第八步:编写一个类,来连接SLRiaTest数据库,获取DataSet数据集。

DB.cs数据库访问类

        第九步:鼠标右键点击SLGetDataFromWCFRIA项目“添加服务引用”即引用刚才我们编写的WCF服务。

        第十步:添加一个UserInfo的实体类集合。代码如下:

复制代码
  
  
/// <summary>
/// 用户实体类
/// </summary>
public class UserInfo
{
private string _ID;
private string _UserName;
private string _UserAddr;
private string _UserTel;

public string ID
{
get { return _ID; }
set { _ID = value; }
}

public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}

public string UserAddr
{
get { return _UserAddr; }
set { _UserAddr = value; }
}

public string UserTel
{
get { return _UserTel; }
set { _UserTel = value; }
}
}
复制代码

        第十一步:点击MainPage.xaml文件,添加一个DataGird控件命名为grShow,在MainPage.xaml.cs文件中编写以下代码获取WCF RIA services读取到的数据库数据:

复制代码
  
  
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
// 创建一个代理类的实例
SLWCFRIAClient client = new SLWCFRIAClient();
// 调用GetData方法并加载事件
client.GetDataAsync();
client.GetDataCompleted
+= new EventHandler < GetDataCompletedEventArgs > (client_GetDataCompleted);
}
public List < UserInfo > userList = new List < UserInfo > ();
void client_GetDataCompleted( object sender, GetDataCompletedEventArgs e)
{
using (XmlReader xReader = XmlReader.Create( new StringReader(e.Result)))
{
// XmlReader读取XML数据
while (xReader.ReadToFollowing( " Table " ))
{
xReader.ReadToDescendant(
" ID " );
string id = xReader.ReadElementContentAsString();
xReader.ReadToNextSibling(
" UserName " );
string username = xReader.ReadElementContentAsString();

xReader.ReadToNextSibling(
" UserAddr " );
string useraddr = xReader.ReadElementContentAsString();

xReader.ReadToNextSibling(
" UserTel " );
string usertel = xReader.ReadElementContentAsString();
// 实例化类并添加进实体类List<>
UserInfo uinfo = new UserInfo(){ID = id, UserName = username,UserAddr = useraddr,UserTel = usertel};
userList.Add(uinfo);
}
this .grShow.ItemsSource = userList;
}

}
}
复制代码

        最后我们看最后的效果图,本实例采用VS2010+Silverlight 4.0+MS SQL SERVER 2008,点击 SLGetDataFromWCFRIA.rar 下载本实例源码和示例数据库。

本文转自程兴亮博客园博客,原文链接:http://www.cnblogs.com/chengxingliang/archive/2011/03/28/1996434.html,如需转载请自行联系原作者


目录
打赏
0
0
0
0
52
分享
相关文章
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
160 61
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
167 57
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
174 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
153 0
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
53 0
Thinkphp6多数据库实例跨库操作
Thinkphp6多数据库实例跨库操作
107 0
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
443 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等