• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Неправильно Работает Адо

  • Автор темы olegO
  • Дата начала
O

olegO

Не знаю тот ли раздел я выбрал, чтобы отпи аться, но да пусть будет этот. Есть следуйщий код:
#include "stdafx.h"
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace,rename("EOF", "EndOfFile")
#import "C:\Program Files\Common Files\System\ole db\Oledb32.dll"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr;
CoInitialize(NULL);
_ConnectionPtr connection;
hr = connection.CreateInstance(__uuidof(Connection));
_RecordsetPtr recordset;
hr = recordset.CreateInstance(__uuidof(Recordset));
_bstr_t bsConnString=(L"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=C:\\bd.mdb");
_bstr_t bsUserID="";
_bstr_t bsUserPwd="";
connection->Open(bsConnString, bsUserID, bsUserPwd, adConnectUnspecified);
VARIANT in;
in.vt=VT_I4;
in.intVal=0;
_bstr_t bsCommand="SELECT * FROM buyers";
//recordset=connection->Execute(bsCommand, &in, adCmdText);
recordset->Open(bsCommand,connection.GetInterfacePtr(),adOpenForwardOnly, adLockReadOnly,adCmdText);
cout << recordset->Fields->Count;
cout << recordset->RecordCount << endl;
//cout << recordset->Fields->Item[1]->Name;
connection->Close();
return 0;
}

База подключается, видит количество полей, а вот записи не видит и при выводе их количества выдает -1; в хелпере написано, что в этом случае либо драйвер не тот, либо путаница с курсорами. Перепробовал все, что только можно. При вызове любой функции, обращающейся к Fields выходит ошибка. Что может быть?
 
N

Normann

Ну, если вдруг тема актуальна еще то вопрос такой, не видит сами записи (т.е. не изалекает сожержимое таблицы) или только их количество?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!