请大家帮忙看看。谢谢!

vc_cn 2002-10-30 11:43:18
我想做一ocx供vb调用,里面有个对外函数(用来传入sql语句,传出纪录集)。这样的函数该怎么定义呢?!
//-------------内部函数大致如下:---------------
_RecordsetPtr CConnDB::GetRS(CString sqlstr)
{
_RecordsetPtr m_pRecordset("ADODB.Recordset");
_bstr_t bstrQuery(sqlstr);
HRESULT hr;
if (ConnSQL()) //这个是连接库用的函数,会得到m_pConnection
{
try
{ hr=m_pRecordset->Open(bstrQuery,_variant_t((IDispatch*)m_pConnection,true),adOpenDynamic,adLockPessimistic,-1);
}
catch(_com_error &e)
{
return NULL;
}
}
return m_pRecordset; //返回这个?!
}
以上函数,我在内部调用它,可以得到记录集。

//-----------然后,我的对外函数定义如下-----------------
LPUNKNOWN CJLCommFunCtrl::ConnGetRS(LPCTSTR sqlstr)
{
CConnDB conn;
return conn.GetRS((CString)sqlstr);
}
请问能这么返回值么?该怎么做才能返回记录集呢?
调用ocx的该方法时,程序出错了。
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyilan 2002-10-30
  • 打赏
  • 举报
回复
gz
vc_cn 2002-10-30
  • 打赏
  • 举报
回复
up

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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