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

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

Проблемка небольшая !!! [D7, XP]


031178 ©   (2008-03-22 08:48:00) 

У меня есть 2 таблицы, в одной хранится 2 поля, т. е. наименование товара и артикул (_Cod_Art - артикул, _Name_Tovar - наименование товара) и вторая таблица, куда необходимо ложить данные из первой таблицы (_Name_Predm - артикул, _Predm - сюда нужно положить данные из _Name_Tovar, первой таблицы). Бегать по запися долго, очень долго, если сделать вот так :

ADODataSet4.First;
for jj := 0 to ADODataSet4.RecordCount - 1 do
 begin
  ADODataSet5.First;
  for kk := 0 to ADODataSet5.RecordCount - 1 do
   begin
    if ADODataSet5['_Cod_Art'] = ADODataSet4['_Name_Predm'] then
     begin
      ADODataSet4.Edit;
      ADODataSet4['_Predm'] := ADODataSet5['_Name_Tovar'];
      ADODataSet4.Post;
     end;
      ADODataSet5.Next;
   end;
  ADODataSet4.Next;

Может кто подскажет ? Как это сделать быстро и правильно ?
Заранее все спасибо !!


Игорь Шевченко   (2008-03-22 11:50:00) [1]

Правила оформления вопросов читаем.


031178   (2008-03-22 10:44:00) [2]

Пишет так :

Обновление влияет на слишком большое количество строк


Savek   (2008-03-22 09:51:00) [3]

With ADODataSet4 do begin
DisableContrils;
First;
while not eof do begin
   If AdoDataSet5.Locate('_Cod_Art',FieldByName('_Cod_Art').AsString,[]) then begin
       Edit;
       FieldByName('_Predm']).AString := ADODataSet5.  FieldByname('_Name_Tovar').AsString;
       Post;
   end;
Next;
end;
EnableControls;
end;


Наверх

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