Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TTable [D5, dBase, FoxPro]


DimChan ©   (2003-11-05 13:25:00) 

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


DimChan   (2003-11-05 14:18:00) [1]


> 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;


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

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


bushmen   (2003-11-05 13:29:00) [3]

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


Sandman25   (2003-11-05 13:29:00) [4]

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];

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо