|
Для экспорта данных в бинарном формате с использованием функции BatchOutput напишем следующий обработчик события щелчка по кнопке BQueryBatchOutputR.
Delphi
procedure TFormBatch.BQueryBatchOutputRClick(Sender: TObject);
var Str: TFIBOutputRawFile;
begin
if OpenDialogOutRaw.Execute then
begin
Str := TFIBOutputRawFile.Create;
Str.Filename := OpenDialogOutRaw.FileName;
SelectQuery.Close;
SelectQuery.BatchOutput(Str);
SelectQuery.Close;
Str.Destroy;
end;
end;
C++
void __fastcall TFormBatch::BQueryBatchOutputRClick(TObject *Sender)Функции BatchOutput передается объект класса TFIBBatchOutputStream. Это абстрактный класс. Для экспорта таблицы в бинарном формате функции следует передать объект класса TFIBOutputRawFile, являющийся потомком TFIBBatchOutputStream. В нашем случае мы создаем объект этого класса Str. У этого объекта нужно присвоить значение единственному свойству Filename. Путь к файлу и имя файла мы получаем обычным образом из диалога открытия файла.
{
if (OpenDialogOutRaw->Execute())
{ TFIBOutputRawFile *Str;
Str = new TFIBOutputRawFile();
Str->Filename = OpenDialogOutRaw->FileName;
SelectQuery->Close();
SelectQuery->BatchOutput(Str);
SelectQuery->Close();
delete Str;
}
}
Важным условием нормальной работы является закрытие запроса и уничтожение объекта Str после выполнения экспорта. При уничтожении объекта TFIBOutputRawFile происходит закрытие выходного файла.