Как работать с dbf [MSVC]?
От: unfer  
Дата: 07.10.08 06:17
Оценка:
Доброго времени суток всем!
Проблема в следующем: есть 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++. Прикладные вопросы' — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.