1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| void CTestAdoXlsDlg::OnBnClickedButton1()
{
_ConnectionPtr pConnection = NULL;
_RecordsetPtr pRecordSet = NULL;
HRESULT hresult;
_variant_t varResult;
CoInitialize(NULL);
hresult = pConnection.CreateInstance(__uuidof(ADODB::Connection));
if(FAILED(hresult))
AfxMessageBox("fail create connection");
hresult = pRecordSet.CreateInstance(__uuidof(ADODB::Recordset));
if(FAILED(hresult))
AfxMessageBox("fail create recordset");
pConnection->ConnectionString = L"File name=c:\\xlsconnection.udl";
hresult = pConnection->Open( L"", L"", L"", adConnectUnspecified);
if(FAILED(hresult))
AfxMessageBox("fail open connection");
hresult = pRecordSet->Open( L"SELECT * FROM [Feuil1$]", pConnection.GetInterfacePtr(),
adOpenForwardOnly, adLockReadOnly, adCmdText );
if(FAILED(hresult))
AfxMessageBox("fail open recordset");
if(pRecordSet)
{
pRecordSet->MoveFirst();
while( !pRecordSet->ADOEOF )
{
varResult = pRecordSet->Fields->GetItem(L"objet")->GetValue(); //wstring
AfxMessageBox(varResult);
varResult = pRecordSet->Fields->GetItem(L"prix")->GetValue();
AfxMessageBox(varResult);
varResult = pRecordSet->Fields->GetItem(L"provenance")->GetValue();
AfxMessageBox(varResult);
varResult = pRecordSet->Fields->GetItem(L"nombre")->GetValue();
AfxMessageBox(varResult);
m_wndGrid.AddRow (pRow, FALSE /* Don't recal. layout */);
pRecordSet->MoveNext();
}
}
pRecordSet.Release();
pConnection.Release();
CoUninitialize();
} |
Partager