Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
4-79238
SH
2003-09-25 19:25
2003.11.24
Не работает enumprocesses


1-78937
Lonely_Wolf
2003-11-12 11:36
2003.11.24
RichEdit


14-79151
Dmitriy O.
2003-10-30 14:36
2003.11.24
---|Ветка была без названия|---


1-78944
Teapot
2003-11-13 23:23
2003.11.24
Клавиши управления курсором


14-79104
Yttrium
2003-11-03 01:01
2003.11.24
Lazarus, косяк при компоновке под Linux




   Наверх