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

Тема в разделе "SQL", создана пользователем olegO, 16 ноя 2014.

  1. olegO

    olegO New Member

    Регистрация:
    16 ноя 2014
    Сообщения:
    1
    Симпатии:
    0
    Не знаю тот ли раздел я выбрал, чтобы отпи аться, но да пусть будет этот. Есть следуйщий код:
    #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 выходит ошибка. Что может быть?
     
  2. Normann

    Normann Well-Known Member

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

Поделиться этой страницей