IDatasetBatchUpdate.AddRecord

Синтаксис

AddRecord(FieldValues: Array);

Параметры

FieldValues – массив новых значений записи. Значения элементов в массиве должны соответствовать полям в источнике данных.

Описание

Метод AddRecord добавляет обновленные значения записи в буфер. Обновление записей из буфера в источнике осуществляется при вызове метода Commit.

Пример

Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором "Table_1". В таблице имеется три целочисленных поля.

Sub UserProc;
Var
    MB: IMetabase;
    Dsi: IDatasetInstance;
    Fields: IDatasetInstanceFields;
    Dbu: IDatasetBatchUpdate;
    Vals: Array[0..2Of Variant;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    Dsi := MB.ItemById("Table_1").Open(NullAs IDatasetInstance;
    Fields := Dsi.Fields;
    Dbu := Dsi.CreateBatchUpdate;
    Dbu.BatchCommand := DatasetBatchCommand.Update;
    Dbu.KeyFieldNames := Fields.Item(0).Id;
    Dbu.BeginUpdate;
    While Not Dsi.Eof Do
        i := Fields.Item(0).Value As Integer;
        If i > 100 Then
            Vals[0] := i;
            Vals[1] := Fields.Item(1).Value;
            Vals[2] := (i + (Fields.Item(1).Value As Integer)) * 100;
            Dbu.AddRecord(Vals);
        End If;
        Dsi.Next;
    End While;
    Dbu.Commit;
End Sub UserProc;

После выполнения примера в таблице будут обновлены записи, значения первого поля которых, больше 100. При обновлении будет изменено значение третьего поля с учетом значений предыдущих двух полей.

См.также:

IDatasetBatchUpdate