数据库高手帮帮我,ADO的问题
我在一个函数中打开数据库操作:
_ConnectionPtr MyDb;
MyDb.CreateInstance(__uuidof(Connection));
MyDb->Open("DSN=zktest","","",0);
_RecordsetPtr MySet;
MySet.CreateInstance(__uuidof(Recordset));
MySet->Open("SELECT * FROM book_table",MyDb.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
_variant_t Holder;
while(!MySet->EOF){
Holder=MySet->GetCollect("INDEX_NUM");
if(Holder.vt!=VT_NULL){
m_tabledata.SetTextMatrix(1,1,((char*)_bstr_t(Holder)));
}
MySet->MoveNext();
}
可是while(!MySet->EOF)这句报错:
Compiling...
testDlg.cpp
D:\zhongke\test\testDlg.cpp(198) : error C2059: syntax error : '('
D:\zhongke\test\testDlg.cpp(202) : error C2039: '_variant_t' : is not a member of '_Recordset'
d:\zhongke\test\debug\msado15.tlh(1693) : see declaration of '_Recordset'
D:\zhongke\test\testDlg.cpp(202) : error C2146: syntax error : missing ';' before identifier 'Holder'
D:\zhongke\test\testDlg.cpp(202) : error C2039: 'Holder' : is not a member of '_Recordset'
d:\zhongke\test\debug\msado15.tlh(1693) : see declaration of '_Recordset'
D:\zhongke\test\testDlg.cpp(203) : error C2039: 'Holder' : is not a member of '_Recordset'
d:\zhongke\test\debug\msado15.tlh(1693) : see declaration of '_Recordset'
D:\zhongke\test\testDlg.cpp(203) : error C2039: 'MySet' : is not a member of '_Recordset'
d:\zhongke\test\debug\msado15.tlh(1693) : see declaration of '_Recordset'
D:\zhongke\test\testDlg.cpp(204) : error C2228: left of '.vt' must have class/struct/union type
D:\zhongke\test\testDlg.cpp(205) : error C2440: 'type cast' : cannot convert from 'int' to 'class _bstr_t'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.
test.exe - 8 error(s), 0 warning(s)
这是什么错呀?
MySet->Close();
MyDb->Close();