M
mzyang
Unregistered / Unconfirmed
GUEST, unregistred user!
本人近日正在学习建立多层数据库,在书上见到如下语句(我用bcb5):
STDMETHODIMP TSQLDdataServerImpl::get_sqlQuery(IProviderPtr* Value)
{
try
{
_di_IProvider IProv=m_DataModule->ADOConnection1->Provider;
IProv->AddRef();
*Value=IProv;
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_ISQLDdataServer);
}
return S_OK;
};
这是在远程数据模板上增加的一个只读属性sqlQuery的只读度方法get_sqlQuery
其作用是捕捉客户端的数据查询
其中m_DataModule是一个指向远程数据模板的指针
DBServerQuery是ADOQuery控件
对这段语句我有如下问题不明望各位富翁解答:
1、_di_IProvider 的作用是什么?是个什么东西?一种数据类型?
2、该句在编译时出现如下错误提示
E2316 'Provider' is not a member of 'TADOQuery'
如果Provider却不是TADOQuery的成员(我自己反复查询过Provider的确不是
TADOQuery的成员,也不是TQuery的成员),那我正在看的参考书作者错了??!!
后来我将DBServerQuery改为ADOConnection1:
_di_IProvider IProv=m_DataModule->ADOConnection1->Provider;
编译时用出现如下错误
E2034 Cannot convert 'WideString' to '_di_IProvider'
我靠!一片茫然!![!][!][!][!][!][!]
STDMETHODIMP TSQLDdataServerImpl::get_sqlQuery(IProviderPtr* Value)
{
try
{
_di_IProvider IProv=m_DataModule->ADOConnection1->Provider;
IProv->AddRef();
*Value=IProv;
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_ISQLDdataServer);
}
return S_OK;
};
这是在远程数据模板上增加的一个只读属性sqlQuery的只读度方法get_sqlQuery
其作用是捕捉客户端的数据查询
其中m_DataModule是一个指向远程数据模板的指针
DBServerQuery是ADOQuery控件
对这段语句我有如下问题不明望各位富翁解答:
1、_di_IProvider 的作用是什么?是个什么东西?一种数据类型?
2、该句在编译时出现如下错误提示
E2316 'Provider' is not a member of 'TADOQuery'
如果Provider却不是TADOQuery的成员(我自己反复查询过Provider的确不是
TADOQuery的成员,也不是TQuery的成员),那我正在看的参考书作者错了??!!
后来我将DBServerQuery改为ADOConnection1:
_di_IProvider IProv=m_DataModule->ADOConnection1->Provider;
编译时用出现如下错误
E2034 Cannot convert 'WideString' to '_di_IProvider'
我靠!一片茫然!![!][!][!][!][!][!]