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

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

RecordSet как пройтись циклом 2 раза?


gedevan ©   (2016-01-10 01:19:00) 


 while not ADOQuery.Recordset.Eof do
 begin

   // перейдём к следующей записи
   ADOQuery.Recordset.MoveNext;
 end;

 ADOQuery.Recordset.MoveFirst;
 while not ADOQuery.Recordset.Eof do
 begin

   // перейдём к следующей записи
   ADOQuery.Recordset.MoveNext;
 end;



хочу пройтись по выборке циклом 2 раза. Но на этой строке ADOQuery.Recordset.MoveFirst; программа вылетает и говорит что EOF уже равен истине или строка отсутствует. Так как же мне снова вернуться к началу и пробежаться еще раз?


Лори   (2016-01-11 12:09:00) [1]

Зачем? С первого раза нельзя сделать то что вы делаете? Странно, может логика программы спроектирована не так?


sniknik   (2016-01-10 13:21:00) [2]

повторюсь...
> и еще совет - 1: пиши понятнее, без мусора. 2: проверяй на простых, просто таки элементарных запросах. 3: используй ADODataSet.

тут твой "пафос" обращения прямо к объекту есть "мусор", раз уж используешь "обертку", причем двойную какой является ADOQuery.
используешь объект, пользуйся его методами, типа - ADODataSet1.First;

но вообще конечно, см [1],
ADODataSet1.CursorType:= ctDynamic; или := ctKeyset;
Open только после этого;


кгшзх   (2016-01-10 11:13:00) [3]

курсор форвард оунли?


Наверх

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