Как добавить копию текущей записи?

Previous  Top  Next

    
 

 

Следующая функция добавит в конец данных точную копию текущей записи.

Code:

procedure AppendCurrent(Dataset:Tdataset);

var

aField : Variant ;

i      : Integer ;

begin

// Создаём массив

aField := VarArrayCreate([0,DataSet.Fieldcount-1],VarVariant);

 

// считываем значения в массив

for i := 0 to (DataSet.Fieldcount-1) do

    aField[i] := DataSet.fields[i].Value ;

 

DataSet.Append ;

 

// помещаем значения массива в новую запись

for i := 0 to (DataSet.Fieldcount-1) do

    DataSet.fields[i].Value := aField[i] ;

end;

 

 

©Drkb::02550

Взято из http://forum.sources.ru

 

 

Примечания Vit:

1) Если таблица имеет ключевые поля или уникальные индексы данный код приведёт к ошибке "Key violation"