博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Silverlight实用窍门系列:30.Silverlight中创建一个最简单的WCF RIA Services访问数据库实例【实例源码+数据库下载】...
阅读量:6627 次
发布时间:2019-06-25

本文共 3011 字,大约阅读时间需要 10 分钟。

本文将建立一个最简单的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.gif
DB.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,点击  下载本实例源码和示例数据库。

2011032617450024.jpg

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

你可能感兴趣的文章
深入分析 Java I/O 的工作机制
查看>>
TortoiseSVN使用简介
查看>>
*Hdu 1026-Ignatius and the Princess I
查看>>
Liferay 6.1开发学习
查看>>
教会你如何编写makefile文件
查看>>
OA系统权限管理设计(转载)
查看>>
Xamarin.Android活动的生命周期
查看>>
完美C++(第5版)(双色)
查看>>
android 从assets和res中读取文件
查看>>
atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证...
查看>>
myEclipse svn 插件安装
查看>>
JSP动作--JSP有三种凝视方式
查看>>
我从4年网页监控中所学到的
查看>>
validate命令---rman进行备份和回复的验证
查看>>
Android 新浪博客分享问题总结
查看>>
编程模式
查看>>
Servlet仿CSDN动态验证码的生成-带数字和字母
查看>>
HDU 1395 2^x mod n = 1
查看>>
Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
查看>>
Dubbo应用与异常记录
查看>>