Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

TTable   Найти похожие ветки 

 
DimChan ©   (2003-11-05 13:25) [0]

Добрый день Мастера, представьте себе таблицу в которой 100 полей и 1 строка, и необходимо добавить такую же строку, но с разницой значений в двадцати полях. Подскажите, пожалуйста, как это сделать или где прочесть, буду очень благодарен.


 
bushmen ©   (2003-11-05 13:29) [1]

Прочитай эту строку, измени значения, которые нужно и добавь


 
Sandman25 ©   (2003-11-05 13:29) [2]

var
OldRow: array of Variant;

В BeforeInsert:

SetLength(OldRow, DataSet.FieldCount);
for i := 0 to High(OldRow) do
OldRow[i] := DataSet.Fields[i].Value;

В AfterInsert:

for i := 0 to High(OldRow) do
DataSet.Fields[i].Value := OldRow[i];

После этого изменяйте нужные поля (руками или программно).


 
Плохиш_   (2003-11-05 13:30) [3]

точно также как и в таблицу в которой 2 поля и 50 строк


 
DimChan ©   (2003-11-05 14:18) [4]


> Sandman25 © (05.11.03 13:29) [2]

Если я тебя правильно понял то это должно работать, но...

procedure TForm1.Button1Click(Sender: TObject);
var n : integer;
s: array of string;
begin
//BeforeInsert
SetLength(s, TableNew.FieldCount);
for n := 0 to High(s) do
S[n] := TableNew.Fields[i].Value;

TableNew.Insert;
//AfterInsert
for n := 0 to High(s) do
TableNew.Fields[i].Value := s[n];
end;



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
3-78834
i
2003-11-03 17:56
2003.11.24
CGI модуль для работы с БД MS Access


8-79071
NetKnight
2003-07-27 22:13
2003.11.24
Определение времени и битрейта файла


14-79103
Alexpiv
2003-11-03 07:28
2003.11.24
Delphi and SQL server 2000


1-78976
Aleksandr
2003-11-14 13:02
2003.11.24
Как вернуть дочернее окно в начало координат клиентской области?


3-78861
eds
2003-11-03 13:11
2003.11.24
Процедура резервного копирования Firebird