怎样在服务器和客户端之间传递纪录集?
小弟想在数据服务器上垫一层,作个数据服务层.
由于使进程间传递,怎么返回纪录集?
书上说的例子是:
HRESULT GetRecords(BSTR strSQL, IDispatch** pVval)
{
_RecordsetPtr pTemp;
pTemp.CreateInstance(__uuidof(Recordset));
pTemp->Open(strSQL,.....);
*pVal = pTemp->Detach();
}
客户端怎么办?
我简单的写成:
_RecordsetPtr pClient;
IServerPtr pData;
pData.CreateInstance(CLSID_Server);
pData->GetRecords("provider....",reinpret_cast<IDispatch**> (&pClient));
int n = pClient->RecordCount; ////出错!!!!!!!!!
小弟想在数据服务器上垫一层,作个数据服务层.
由于使进程间传递,怎么返回纪录集?
书上说的例子是:
HRESULT GetRecords(BSTR strSQL, IDispatch** pVval)
{
_RecordsetPtr pTemp;
pTemp.CreateInstance(__uuidof(Recordset));
pTemp->Open(strSQL,.....);
*pVal = pTemp->Detach();
}
客户端怎么办?
我简单的写成:
_RecordsetPtr pClient;
IServerPtr pData;
pData.CreateInstance(CLSID_Server);
pData->GetRecords("provider....",reinpret_cast<IDispatch**> (&pClient));
int n = pClient->RecordCount; ////出错!!!!!!!!!
解决方案 »
- CDateTimeCtrl 焦点问题
- QQ网页密码算法~~~高手进
- 内存数据copy的问题
- 急,大家来看一下这个情况,不调用OnReceive
- 程序启动后的执行顺序
- 关于Measurment Studio7.1,如何生成脱离环境运行的版本,来者有分!
- 单文档界面消息映射做不出来
- 大家来帮帮我啊!一个关于……的问题!
- w32.Nimda.E@tftp2588---->怎么杀了他啊(100分)
- 超级问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 请教如何实现在WIN2000下用小键盘上的加号减号键代替PAGE UP和PAGE DOWN键的功能
- 我有一个ActiveX。如何放在html中,并调用它的Method?
HRESULT GetRecords(BSTR strSQL, VARIANT* pVval)
{
_RecordsetPtr pTemp;
pTemp.CreateInstance(__uuidof(Recordset));
pTemp->Open(strSQL,.....); VARIANT vtRec;
VariantInit(pVval);
vtRec = VT_DISPATCH;
vtRec.pdispVal =(IDispatch )pTemp;
VariantCopy(pVval,&vtRec)
}
应写成:
_RecordsetPtr pTemp;
IDispatch* pDisp;
pTemp.CreateInstance(__uuidof(Recordset));
pTemp->Open(strSQL,.....);
pTemp->QueryInterface(__uuidof(IDispatch),(LPVOID)pDisp);
*pVal = pDisp->Detach();