Доброго времени суток всем!
Проблема в следующем: есть dbf-файл, есть MS Visual Studio v7.1, необходимо вытащить данные из dbf-файла, язык С++. Технология доступа к данным не принципиальна, главное чтоб работало.
Пробую следующий код:
#include <iostream>
#include <conio.h>
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \
rename ("EOF", "ADOEOF")
using namespace std;
using namespace ADODB;
int main()
{
::CoInitialize(NULL);
_ConnectionPtr CnnPtr(__uuidof(Connection));
_bstr_t CnnStr = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\\SH30";
CnnPtr->Open(CnnStr, (_bstr_t)"", (_bstr_t)"", adConnectUnspecified);
cout << "Open is OK\n";
CnnPtr->Close();
cout << "Close is OK\n";
::CoUninitialize();
getch();
return 0;
}
Во время buil'а ошибок нет, после запуска вылетает ошибка:
Unhandled exception at 0x7c812aeb in ADOTEST.exe: Microsoft C++ exception: _com_error @ 0x0012fc50 и курсор указывает на кусок кода
inline HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) {
HRESULT _hr = raw_Open(ConnectionString, UserID, Password, Options);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _hr;
}
в файле
msado15.tli, а именно на строчку
return _hr;.
Подскажите, в чем проблема? Вроде все делаю как в примерах...
07.10.08 12:03: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт