一个Clientdataset与datasetprovider的问题(100分)

  • 主题发起人 主题发起人 autojet
  • 开始时间 开始时间
A

autojet

Unregistered / Unconfirmed
GUEST, unregistred user!
在b/s程序服务中,我不想在中间层放datasetprovider控件,而直接通过Variant型变量将
Ado产生的记录集传回到客户端,请问应怎样设置?
 
我正用ADO 开发三层结构应用系统,也碰到问题?用ADO 怎么不在应用服务器中写代码就能更新
单个表?你这个问题你可以试一试用IAPPSERVER界面的自定义函数
 
可以用Variant数组来完成,但是如果是一个很大的表,将会花很长时间,效率上可能
。。。。
 
[blue]我正是使用的IAppserver接口,自定义了接口函数,问题是怎样将Ado所产生的记录集
转换成为Variant型变量,以传到客户端[/blue]
 
其实DatasetProvider进行的就是数据封包的工作。将Ado的_RecordSet转化
成为ClientDataSet的Data,而Data就是Variant类型的。
如果你要使用IAppserver接口,为什么不用DCOM来直接进行连接呢?
直接用代码连接应该也是可以的,我查了一下Delphi的源码,
发现DatasetProvider的数据封包工作是通过一个名为TDataPacketWriter的
对象来实现的。这个对象的声明就在 Provider 这个单元中,
其中一个函数可能就是你想要的:
procedure GetDataPacket(DataSet: TDataSet;
var RecsOut: Integer;
out Data: OleVariant);
看看它的参数吧! 呵呵
 
接受答案了.
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部