社区
Web Services
帖子详情
WCF和DataSet
hotyei
2010-11-09 01:04:47
各位高手请指教:
定义了这样一个契约,返回一个数据集:
DataSet GetData(string SQLStr);
客户端也可以正常地接收对应的数据,但现在问题是客户端所作的修改,怎样提交到数据库上面??
...全文
323
11
打赏
收藏
WCF和DataSet
各位高手请指教: 定义了这样一个契约,返回一个数据集: DataSet GetData(string SQLStr); 客户端也可以正常地接收对应的数据,但现在问题是客户端所作的修改,怎样提交到数据库上面??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaobo
2010-12-23
打赏
举报
回复
DataSet.GetChanges()传递到服务端即可!
hotyei
2010-11-19
打赏
举报
回复
谢谢楼上。
lhzyn
2010-11-17
打赏
举报
回复
findcaiyzh所说的类型安全的意思是,已经定义好的有固定的属性或字段的类型,例如他定义的class Contact,
Dataset的不安全就在于,它存储的内容的属性是动态的,某个表可能有可能没有,表里面的字段也是不确定的.
使用Dataset作为DataContract一般都是不得已实在没办法时的选择.
对于这个:
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
你应该在程序里做好控制,保证提交的Dataset中都是需要更新的数据.
hotyei
2010-11-10
打赏
举报
回复
谢谢各位!
由于我们使用了用户自定义字段(客户自已向数据库添加一些字段),所以不能使用List<对象类别>的方式将数据传送到客户端,而必须使用DataSet的方式。
还望高手说一下使用DataSet有什么不好,类型安全又是指什么呢?
机器人
2010-11-10
打赏
举报
回复
[Quote=引用 3 楼 hotyei 的回复:]
上面两位高手,你们好!
通过:
void UpdateDatabase(DataSet _DataSetToUpdate);
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
[/Quote]
DataSet里只保存修改的一笔数据。。。
Devillyd
2010-11-10
打赏
举报
回复
[Quote=引用 4 楼 findcaiyzh 的回复:]
那就最好别用Dataset了,dataset不是类型安全的。
可以使用这样的
[DataContract(Namespace = "*****", Name = "Contact")]
class Contact
{
[DataMember(Order = 1)]
public int ContactId{get;set;};
[DataMember(Order ……
[/Quote]
顶
宝_爸
2010-11-10
打赏
举报
回复
那就最好别用Dataset了,dataset不是类型安全的。
可以使用这样的
[DataContract(Namespace = "*****", Name = "Contact")]
class Contact
{
[DataMember(Order = 1)]
public int ContactId{get;set;};
[DataMember(Order = 2)]
public string FirstName{get;set;};
[DataMember(Order = 3)]
public string LastName{get;set;};
[DataMember(Order = 4)]
public string Email{get;set;};
}
List<Contact> GetContacts(string SQLStr)
{
}
void UpdateContact(Contact newContact)
{
//根据Id更新数据库。
}
注意:以上代码没有经过编译,可能有些许错误。
潇洒王子
2010-11-10
打赏
举报
回复
直接根据ID修改记录,返回数据库即可,别搞的 太复杂
hotyei
2010-11-09
打赏
举报
回复
上面两位高手,你们好!
通过:
void UpdateDatabase(DataSet _DataSetToUpdate);
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
MarcuseXiao
2010-11-09
打赏
举报
回复
可序列化的类型(DataSet,或者自定义的DataContract)都可以作为参数进行调用的,跟类调用一样的
lhzyn
2010-11-09
打赏
举报
回复
客户端既然可以接收DataSet,当然也可以把修改后的DataSet提交到WCFService进行数据库更新啦.
你可以在契约中定义一个方法例如
void UpdateDatabase(DataSet _DataSetToUpdate);
另外
既然使用了WCF,最好不要定义这样的方法DataSet GetData(string SQLStr),把Sql语句传到WCFService执行还不如直连数据库来的直接.
Silverlight
DataSet
需要下载:Silverlight.
DataSet
和Silverlight.
DataSet
Connector 下面是示例: DataTable Dt = new DataTable(); DataColumn col1 = new DataColumn("CompanyName"); Dt.Columns.Add(col1); DataColumn col2 = new ...
数据库与
WCF
链接
数据库与
WCF
(Windows Communication Foundation)链接是将数据库操作与分布式服务相结合的技术,适用于初学者进行学习和开发。本文将详细介绍如何使用
WCF
服务来连接和查询SQL数据库,以及创建
WCF
服务的基本步骤。 ...
WCF
服务端程序
这个
WCF
服务端程序展示了如何利用C#、
WCF
、ADO.NET和WinForm技术实现一个集成了数据库操作的服务。服务提供了与客户端通信的接口,而WinForm应用作为宿主机使得服务的开发和测试更加方便。了解并掌握这些技术,有助...
流方式传输
dataset
本篇文章将深入探讨如何在
WCF
服务中以二进制字节流的方式传输
DataSet
,以及这一方法的优势和实现细节。 ### 数据集(
DataSet
)概述
DataSet
是.NET中的一个内存数据结构,它可以存储来自多种数据源的数据,并提供了...
Silverlight连接数据数据库
DataSet
填充数据
本主题将深入探讨如何在Silverlight应用中连接数据库并使用
DataSet
来填充数据,不依赖于
WCF
或WebService服务。 首先,让我们了解
DataSet
。
DataSet
是.NET框架中的一个对象,它在内存中存储数据,并提供了类似数据库...
Web Services
12,166
社区成员
16,325
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章