该程序段说明了如何从字段检索数值并将数值转换为 C++ 变量。
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile") #include <stdio.h>Class CEmployee { public: FetchEmployeeData(); char m_szFirstName[30]; char m_szLastName[30]; int nAge; };CEmployee::FetchEmployeeData() { _ConnectionPtr pCon(); _RecordsetPtr pRs(); FieldPtr pfldFirstName, pfldLastName, pfldAge; _variant_t vFirstName, vLastName, vAge;pCon.CreateInstance(__uuidof(Connection)); pCon->Open("pubs", "sa", "");pRs.CreateInstance(__uuidof(Recordset)); pRs->Open("select FirstName, LastName, Age from Employees", pCon, adOpenForwardOnly, adLockReadOnly, adCmdUnknown);pfldFirstName = pRs->Fields->GetItem(0); pfldLastName = pRs->Fields->GetItem(1); pfldAge = pRs->Fields->GetItem(2);while (VARIANT_FALSE == pRs->EndOfFile) { vFirstName.Clear(); vLastName.Clear(); vAge.Clear(); vFirstName = pfldFirstName->Value; WideCharToMultiByte(CP_ACP, 0, vFirstName.bstrVal, -1, m_szFirstName, sizeof(m_szFirstName), NULL, NULL); vLastName = pfldLastName->Value; WideCharToMultiByte(CP_ACP, 0, vLastName.bstrVal, -1, m_szLastName, sizeof(m_szLastName), NULL, NULL); nAge = vAge.iVal; pRs->MoveNext(); } }