在客户端向服务端提交要添加的数据时,我想有两种方法:
1:在客户端调用clientdataset1.applyupdates方法。但此方法要求先向服务器下载相应的数据集,再在此数据集的基础上更新,添加才能使delta属性有效。
2:将要添加的数据集打包,用datarequest方法传到服务端,在服务端调用存储过程完成。但又有问题,dataruquest方法的参数类型是olevariant类型,要传递一个数据集,只能先将此数据集转化成Tmemory流对象,在服务器接收到此流对象后再进行重组,重组很麻烦,试了很久,没有成功。哪位大侠能提供更好的方法?或是我上面的方法中哪里有需要改进的地方,小弟实在是头大了,望大侠们不吝赐教!谢谢,小弟分不够,希望各位不要介意。
1:在客户端调用clientdataset1.applyupdates方法。但此方法要求先向服务器下载相应的数据集,再在此数据集的基础上更新,添加才能使delta属性有效。
2:将要添加的数据集打包,用datarequest方法传到服务端,在服务端调用存储过程完成。但又有问题,dataruquest方法的参数类型是olevariant类型,要传递一个数据集,只能先将此数据集转化成Tmemory流对象,在服务器接收到此流对象后再进行重组,重组很麻烦,试了很久,没有成功。哪位大侠能提供更好的方法?或是我上面的方法中哪里有需要改进的地方,小弟实在是头大了,望大侠们不吝赐教!谢谢,小弟分不够,希望各位不要介意。
解决方案 »
- delphi 子窗体出现位置
- 视频回调函数中的请教问题?
- 如何在XP/2000下使指定进程不在任务管理器中显示或显示但不能被强制终止(要有源码)
- sql.add('select copy(ddd,1,2) as ddd from .... where......');报错
- 斑马打印机条码打印控件,(用指令及打印的)
- fastreport怎样显示多个表的数据
- activeForm问题?
- DEPHI支持三层开发和B/S结构吗
- 如何定义一个表字段的afterscroll 事件 ,把它写在存放多个自定义函数的另一个单元unit里?
- 请教几个类量转换问题,谢谢!
- tOleContainer怎样到如数据流?
- 如何在两台机器间互发消息?
这样:
OutData:OleVariant;//你的数据集变量
ADODataQuery.recordset := IUnknown(OutData) as _RecordSet;//你的ADO数据集。
我想应该是一样的吧,你试试。
2. 何必作成 TMemory ?cds 中任何的东东都是可以直接被网络传递的
cds.DataRequest(cds.Delta),在服务器 new 一个cds, cds.Data := OwnerData 还原。
仍然, 在下强烈建议不要绕开 MIDAS 的更新机制,还是用 cds.ApplyUpdates, Connection.AppServer.AS_ApplyUpdates(ProviderName :String; ...)
第一个参数指定 ProviderName 更新