日期:2014-05-17  浏览次数:20896 次

希望高手指点 万分感谢!怎么回事,SQL查询不出来啊。
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();

//设置select语句
_bstr_t vSQL;

vSQL="SELECT * FROM 123";
   
//执行select语句
_RecordsetPtr m_pRecordsetPatentTable;
m_pRecordsetPatentTable=m_AdoConn.GetRecordSet(vSQL);

_variant_t var;
CString m_strFieldName[2]={"problem","solution"};
CString m_patent[2];


m_pRecordsetPatentTable->MoveFirst();

while (!m_pRecordsetPatentTable->adoEOF)
{
var=m_pRecordsetPatentTable->GetCollect(_variant_t("patentID"));

if(atoi((LPCSTR)_bstr_t(var))==app->patent_SearchID1)
{

for (int i=0;i<2;i++)
{
var=m_pRecordsetPatentTable->GetCollect(_variant_t(m_strFieldName[i]));
m_patent[i]=atoi((LPCSTR)_bstr_t(var));
}

}
m_pRecordsetPatentTable->MoveNext();
}



//////////////////////////////////////////m_patent[1]
//将问题描述,方案描述,传给对话框控件显示
    SetDlgItemText(IDC_CASEPROBLEM_DESCRIP,m_patent[0]);
SetDlgItemText(IDC_PATENT_CASESOLUTION,m_patent[1]);


// TODO: Add extra initialization here

m_AdoConn.ExitConnect();

return TRUE;  









select cstring

------解决方案--------------------
m_pRecordsetPatentTable->MoveFirst(); 记录集是否为空,空的时候不能使用这条语句。
你可以调试一下,看看具体运行到那一条语句崩溃的
------解决方案--------------------
你这个应该去C++专区问
------解决方案--------------------
vSQL="SELECT * FROM 123";

楼主表名是"123"?
------解决方案--------------------
引用:
嗯, 表名 就是123


修改为:
SELECT * FROM  [123]
------解决方案--------------------
引用: