开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

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

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

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

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

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

        第五步:在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表,在里面添加字段如下:2011032617310182.jpg

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

ContractedBlock.gifDB.cs数据库访问类

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

        第十步:添加一个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 下载本实例源码和示例数据库。

2011032617450024.jpg

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unity3D MMORPG源码+资源+服务端+数据库(Unity3D)
本文转自:GameRes游资网 原文作者:zhihudaye 原文链接:bbs.gameres.com/forum.php?m…
0 0
使用delphi 开发 web(三)动态脚本里面使用数据库
在主程序里面把数据库访问控件设置并注册好,在脚本里面使用数据库就非常简单。 可以类似下面的脚本访问数据库。     要实现数据库访问,我们采用的是Devart 公司的数据库访问控件。该公司有单独访问 oracle,sql server,my sql,interbase 的控件,也有UniDac 控件可以同时访问包括以上数据库 的其他数据库,例如db2,access,sqllite 等。
811 0
Silverlight与后台数据库的三种技术实现基本的互操作(转)
http://silverlightchina.net/html/tips/2009/0826/153.html 本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight SOA的应用。
691 0
arcgis开发笔记【silverlight同步访问WCF和网站数据】
SL调用WCF方法,默认是异步的,但有些情况,我们使用同步会来的方便些,下面的文章提供了一种方式。 http://www.codeproject.com/KB/silverlight/SynchronousSilverlight.
469 0
一起谈.NET技术,Silverlight与PostgreSQL数据库的互操作(CURD完全解析)
  今天将为大家介绍如何让Silverlight使用PostgreSQL作为后台数据库以及CURD操作。   准备工作    1)建立起测试项目    细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NET Entity Framework——Silverlight学习笔记[10]。
664 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云数据库案例集下载
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载