Хранимая процедура возвращает несколько Recordsets

отредактировано 11:31 Раздел: FastReport 3.0
Дано: TADOQuery выполняет хранимую процедуру на сервере MS SQL2000.
Эта процедура возвращает несколько рекордсетов. По этим рекордсетам надо построить отчет, используя FR 3. Как получить доступ ко всем рекордсетам?
Без шаманства получаю только первый рекордсет.


Может кто поделится frxADOStroeProc - если такая существует.

Комментарии

  • отредактировано 11:31
    написал:
    Как получить доступ ко всем рекордсетам?
    Невозможно
  • отредактировано 11:31
    вот неполный пример. Главное для каждого Recordset сформировать провайдера.

    *********************************************************
    ADOProc_->Active = true;

    AnsiString resstring = "";
    TDataSetProvider *prov = new TDataSetProvider(NULL);//создаем провайдера
    prov->DataSet = ADOProc_;
    prov->Name = "PrintProv"+AnsiString(GetTickCount());
    resstring = prov->Name+";";
    ProviderList.push_back(prov);
    while (true) //создаем кучу провайдеров по вышеописанной схеме
    {
    int numrows = 0;
    Sleep(10);
    TADODataSet* ds = new TADODataSet(NULL);

    ds->Recordset = ADOProc_->NextRecordset(numrows);

    if(!ds->Recordset)
    break;

    TDataSetProvider *prov = new TDataSetProvider(NULL);
    prov->DataSet = ds;
    prov->Name = "PrintProv"+AnsiString(GetTickCount());
    resstring = resstring + prov->Name+";";
    }
    *****************************************************

    потом создаешь столько ClientDataSet, сколько у тебя провайдеров, ставишь им провайдера и получаешь по нему данные. И, соответственно, для каждого ClientDataSet создаешь frxDBDataset

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.