程序出现c2039错误,求解决啊。。

cherry_pink 2012-06-22 10:04:21
STDMETHODIMP CQuestion::GetQuestion(int x_nType, int x_nQID, BSTR *x_QInfo)
{
// TODO: Add your implementation code here
try
{

if (FAILED(pConn.CreateInstance(__uuidof(Connection))))
{
*x_QInfo = ::SysAllocString(L"N#Couldn't create connection component!");
return S_OK;
}

if (FAILED(pConn->Open("Provider=MSDASQL.1;Password=;Persist Security Info=True;User ID=SA;Data Source=EXAM;Initial Catalog=EXAM","","",-1)))
{
*x_QInfo = ::SysAllocString(L"N#Couldn't open connection!");
return S_OK;
}

CComBSTR m_bstrSql;

switch(x_nType)
{
case 0:
m_bstrSql.Append("SELECT * FROM LOGIC WHERE QID=");
break;
case 1:
m_bstrSql.Append("SELECT * FROM SINGLE WHERE QID=");
break;
case 2:
m_bstrSql.Append("SELECT * FROM MULTIPLY WHERE QID=");
break;
default:
*x_QInfo = ::SysAllocString(L"N#Type error!");
return S_OK;
break;
}

char m_strBuf[10];
_itoa(x_nQID, m_strBuf, 10);

m_bstrSql.Append(m_strBuf);

_bstr_t m_bstrResult(m_bstrSql,FALSE);


CComVariant m_varNum;

pRs = pConn->Execute(m_bstrResult, &m_varNum, -1);

if (pRs->ADOEOF)//出现error C2039: 'ADOEOF' : is not a member of '_Recordset'
{
*x_QInfo = ::SysAllocString(L"N#Couldn't find records!");
return S_OK;
}

CComVariant m_varData;
CComBSTR m_bstrInfo;
m_bstrInfo.Append("Y#");

char m_strFieldName[20];

pRs->GetFields()->GetItem("CONTENT")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrcontent.AppendBSTR(m_varData.bstrVal);
}

m_bstrInfo.Append("#");

if (x_nType >= 1)
{
pRs->GetFields()->GetItem("ANSWERA")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrQ1.AppendBSTR(m_varData.bstrVal);
}
m_bstrInfo.Append("#");

pRs->GetFields()->GetItem("ANSWERB")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrQ2.AppendBSTR(m_varData.bstrVal);
}

m_bstrInfo.Append("#");

pRs->GetFields()->GetItem("ANSWERC")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrQ3.AppendBSTR(m_varData.bstrVal);
}

m_bstrInfo.Append("#");

pRs->GetFields()->GetItem("ANSWERD")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrQ4.AppendBSTR(m_varData.bstrVal);
}

}
m_bstrInfo.Append("#");

if (x_nType == 2)
{
pRs->GetFields()->GetItem("ANSWERA")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{
m_bstrInfo.AppendBSTR(m_varData.bstrVal);
m_bstrQ5.AppendBSTR(m_varData.bstrVal);
}
}
pRs->GetFields()->GetItem("ANSWER")->get_Value(&m_varData);
if(m_varData.vt != VT_NULL)
{

m_shortAnswer=m_varData.intVal;
}

*x_QInfo = m_bstrInfo;
}
catch(...)
{
*x_QInfo = ::SysAllocString(L"Error occurs!");
return S_OK;

}

return S_OK;
}
...全文
295 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文研究了基于非支配排序的蜣螂优化算法(NSDBO)在微电网多目标优化调度中的应用,并提供了Matlab代码实现。该方法结合智能优化算法与电力系统调度需,针对微电网运行中的多重目标(如经济性、环保性、稳定性等)进行协同优化,有效提升了调度方案的综合性能。文中详细阐述了NSDBO算法的设计原理、非支配排序机制及其在解多目标问题上的优势,并通过仿真实验验证了其相较于传统算法在收敛性和多样性方面的优越表现。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网优化、智能优化算法研究的相关工程技术人员。; 使用场景及目标:①用于解决微电网中多目标、多约束的优化调度问题,如成本最小化与碳排放最低的平衡;②为智能优化算法在能源系统中的应用提供可复现的技术路径和代码参考,支持学术研究与实际项目开发; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序与蜣螂行为模拟的融合机制,同时可尝试将其迁移至其他多目标优化问题中进行拓展研究。

3,248

社区成员

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

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