COM+ 对象中如何写一个方法返回Recordset

veryhappy 2005-01-12 10:12:23
我写了一个COM+组件,放在系统组件服务中了,其中写了几个测试方法返回Intger,string,客户端调用都没有任何问题,但是我如果写返回Variant类型就无法编译了(&H80004005 错误),不知道原因

我想通过一个Function返回给调用者一个Recordset,不知道该如何实现呀,请高手们指教呀!
...全文
159 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
creazyfish 2005-01-13
  • 打赏
  • 举报
回复
你不应该用Variant型!!!
用object就可以!
当然如果你确切知道返回recordset类型,可以直接返回recordset啊!veryhappy(wx.net)说的没有错,不过记得引用ado就可以了
veryhappy 2005-01-13
  • 打赏
  • 举报
回复
代码示例:

对象名称:MyVB_COM.COMClass

COM+组件服务器中方法Test

Public Function Test() As Recordset
Dim cn As New Connection
Dim rs As New Recordset
cn.Open "driver={SQL Server};server=localhost;database=pubs;uid=sa;pwd="
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.ActiveConnection = cn
rs.Open "select * from Employee", cn
Set Test = rs
End Function


客户端EXE调用代码
Private ox As New MyVB_COM.COMClass
Private rs As New Recordset

Private Sub Form_Load()
Set rs = ox.Test()
End Sub
veryhappy 2005-01-13
  • 打赏
  • 举报
回复
比如我在对象中随便加一个方法A返回值设置为string,只删除代码本身还去不掉方法A,一编译就出现&H80004005的错误,不知道如何正确删除这个方法。

wushu(浪子) 说得没错,我已经调试出来了,稍后把我的代码帖上来……
wushu 2005-01-13
  • 打赏
  • 举报
回复
public function 方法名(参数表) as ADODB.Recordset
...
end function

不就结了
online 2005-01-13
  • 打赏
  • 举报
回复
http://www.xc-soft.com/docs/3tieranddatabase.htm
返回recordset类型就行了
僵哥 2005-01-12
  • 打赏
  • 举报
回复
把你代码贴出来看看?我们的COM+应用程序所有交互,都通过Variant型

864

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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