Как добавить копию текущей записи? |
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"