IDtBulkPacket.FailPolicy

Синтаксис

FailPolicy: DatasetFailPolicy;

Описание

Свойство FailPolicy определяет вид действия, осуществляемый при возникновении ошибки во время экспорта данных.

Пример

Для выполнения примера предполагается наличие в корневом каталоге диска С файла "Data.xls".

Sub Main;

Var

ExcelConsumer: IDtExcelConsumer;

Fields: IDtFieldDefinitions;

Field: IDtFieldDefinition;

v, v1: Array;

Pack: IDtBulkPacket;

Begin

//Массив, передаваемый в первом пакете

//Массив, передаваемый во втором пакете

ExcelConsumer := New DtExcelConsumer.Create;

ExcelConsumer.File := "c:\Data.xls";

ExcelConsumer.HasHeader := True;

ExcelConsumer.DriverVersion := "Excel 8.0";

ExcelConsumer.Table := "Лист1";

Fields := ExcelConsumer.Fields;

Field := Fields.Add;

Field.DataType := DbDataType.String;

Field.Name := "Наименование";

Field := Fields.Add;

Field.DataType := DbDataType.Integer;

Field.Name := "Идентификатор";

Field := Fields.Add;

Field.DataType := DbDataType.Float;

Field.Name := "Значение";

ExcelConsumer.Open;

Pack := New DtBulkPacket.Create;

Pack.FailPolicy := DatasetFailPolicy.Rollback;

//Первый пакет

Pack.Data := v;

ExcelConsumer.PutBulk(Pack);

If Not Pack.Successful Then

Debug.WriteLine("Ошибка при экспорте пакета");

Debug.WriteLine("Не экспортировано записей: " + Pack.FailedRows.ToString);

Else

Debug.WriteLine("Экспорт пакета завершен удачно");

End If;

//Второй пакет

Pack.Data := v1;

ExcelConsumer.PutBulk(Pack);

If Not Pack.Successful Then

Debug.WriteLine("Ошибка при экспорте пакета");

Debug.WriteLine("Не экспортировано записей: " + Pack.FailedRows.ToString);

Else

Debug.WriteLine("Экспорт пакета завершен удачно");

End If;

ExcelConsumer.Close;

End Sub Main;

После выполнения примера будет создан новый приемник данных, осуществляющий экспорт данных в файл Excel. В файл поочередно будут записаны значения двух массивов. При возникновении ошибок при экспорте строк будет производиться откат изменений. Информация о результатах экспорта будет выведена в консоль среды разработки.

См. также:

IDtBulkPacket