帮忙看看下面这段代码,出错处理我省了
STDMETHODIMP CTest::GetInfo(BSTR *Info)
{
// TODO: Add your implementation code here
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=SQLOLEDB;SERVER=(local);DATABASE=exam;UID=sa;PWD=linchun","","",-1); CComBSTR m_bstrSQL;
m_bstrSQL.Append("select * from single where Qid<>0");
_bstr_t m_strResult(m_bstrSQL,FALSE);
CComVariant m_varNum; _RecordsetPtr m_pRs;
m_pRs=m_pConnection->Execute(m_strResult,&m_varNum,-1); CComVariant m_varData;
CComBSTR m_bstrInfo;
while(!m_pRs->ADOEOF)
{
m_pRs->GetFields()->GetItem("content")->get_Value(&m_varData);
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_pRs->MoveNext();
} m_pRs->Close();
m_pConnection->Close();
*Info=m_bstrInfo;
return S_OK;
}
这段代码没问题,客户端调用也完全正常,
问题在这句
m_bstrSQL.Append("select * from single where Qid<>0");
我库中本来就没有Qid=0的数据,所以这句也就相当于
m_bstrSQL.Append("select * from single");
但这样编译成生dll是没问题,但在客户端调用就出现异常,为什么呢?
还有m_pRs->Close();后,还需要释放吗?
STDMETHODIMP CTest::GetInfo(BSTR *Info)
{
// TODO: Add your implementation code here
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=SQLOLEDB;SERVER=(local);DATABASE=exam;UID=sa;PWD=linchun","","",-1); CComBSTR m_bstrSQL;
m_bstrSQL.Append("select * from single where Qid<>0");
_bstr_t m_strResult(m_bstrSQL,FALSE);
CComVariant m_varNum; _RecordsetPtr m_pRs;
m_pRs=m_pConnection->Execute(m_strResult,&m_varNum,-1); CComVariant m_varData;
CComBSTR m_bstrInfo;
while(!m_pRs->ADOEOF)
{
m_pRs->GetFields()->GetItem("content")->get_Value(&m_varData);
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_pRs->MoveNext();
} m_pRs->Close();
m_pConnection->Close();
*Info=m_bstrInfo;
return S_OK;
}
这段代码没问题,客户端调用也完全正常,
问题在这句
m_bstrSQL.Append("select * from single where Qid<>0");
我库中本来就没有Qid=0的数据,所以这句也就相当于
m_bstrSQL.Append("select * from single");
但这样编译成生dll是没问题,但在客户端调用就出现异常,为什么呢?
还有m_pRs->Close();后,还需要释放吗?
解决方案 »
- 一个关于Cpen类的问题
- 求《MFC windows程序设计》附书源代码!谢谢
- 哪里有VC.Net?
- CreateRemoteThread的问题。在程序员第7期上的问题。。。。
- winsock 控件
- 要在窗口中进行简单的画线和给某些坐标点着色
- 关于窗口标题
- 在vc中怎样改变Toolbar中的图标????
- 使用Createfile打开一个vxd 时出错,GetLastError返回2,VxD loader(vtoolsd自带)加载提示:not a valid dynamically loadable vxd
- ====================请问怎样让列表控件不可见========================
- 我要做一个图库管理的模块,用MFC做,哪位大哥来帮忙啊,我实在是没办法了
- 问个菜问题,在vc.net下写c++代码。。。
不知道该怎么办,有谁能给我一个insert into的例子