ASP中如果取得COM+返回的数据集

zoom9002 2004-10-15 03:33:46
用D7开发的COM+做为服务器应该层.开始是用D7做WinApplication来调用COM+的.
比如客户端从远程服务器的COM+组件中获取数据库中的数据集时,用vDatas:OleVariant来
取得结果,并存入ClientDataSet里供应用程序显示数据结果.

问题是:在ASP中调用的COM+实例的方法后,也能取到结果,但不知怎样才能把它放到RecordSet这样的对象中.如果结果返回的是数字或是字符串倒是能直接显示出来,就是不知如果能将OleVariant的类型转到Recordset中去.是不是不能转还是用其它的方法来把数据结果读出来
...全文
158 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoom9002 2004-11-11
  • 打赏
  • 举报
回复
我现在是这么做:
创建ADODataSet对象.同时也创建一个ClientDataSet对象.
用ClientDataSet来接收DataSetProvider的Data属性.
然后把ClientDataSet的字段定义符给ADODataSet
然后用ADODataSet.CreateDataSet
然后再循环将ClientDataSet的记录导入到ADODataSet中.
然后给ASP返回ADODataSet的Recordset属性.
这样ASP就能直接当ADODB.Recordset对象来用了.

不过不知这种方法是不是效率很低.
wozhuchuanwei 2004-11-09
  • 打赏
  • 举报
回复
我的做法是,将中间层的数据包存为xml文件,中间层接口只返回这个xml的地址,然后在把中间层的xml读到客户端显示,
zoom9002 2004-11-07
  • 打赏
  • 举报
回复
romatic:
COM+中从另一个模块取得的是DataSetProvider的data属性呀.怎么把这个data符给adsTmp.Recordset呢?
romatic 2004-11-01
  • 打赏
  • 举报
回复
先引用adodb_tlb这个单元(应该没问题吧)。
ASP端传入一个参数,假设为rst(即为要回传的数据集变量).
COM+中如下写:
var adsTmp: tadodateset;
//执行数据操作.
rst := ADODB_TLB._Recordset(adsTmp.Recordset);
zoom9002 2004-10-16
  • 打赏
  • 举报
回复
问题更加明确了:
如何把DataSetProvider.Data转成ADO的Recordset?
注:DataSetProvider取的是ADOQuery的数据.
zoom9002 2004-10-16
  • 打赏
  • 举报
回复
期待!
zoom9002 2004-10-15
  • 打赏
  • 举报
回复
我感觉应该分两步来做:
1、如何把DataSetProvider.Data数据转为ADO的Recordset
2、如何定义接口中的方法,使其可以回传Recordset类型的参数
missj 2004-10-15
  • 打赏
  • 举报
回复
123
WantKindHeart 2004-10-15
  • 打赏
  • 举报
回复
那你可以再添加一个专门供ASP调用的协调组件呀,让这个协调组件去调用前面的组件,这个协调组件负责解释数据,以你要的形式返回不就可以了?

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧