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

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

Как перейти на следующую запись? [D6]


shane54 ©   (2002-03-27 16:06:00) 

Вот такой код выдает только первую запись...
for i := 0 to Table.RecordCount -1 do
begin
for j := 0 to Table.FieldCount - 1 do
write(Table.Fields[j].DisplayText, " ");
writeln;
end;


Anatoly Podgoretsky   (2002-03-27 23:23:00) [1]

shane54 © (27.03.02 16:24)
Это кстати говорит, что не надо торопиться с вопросом, зачем замусоривать форум.


Digitman   (2002-03-27 16:28:00) [2]

1. Особенности реализации доступа к таблице с использованием индекса таковы, что при открытии таблицы (либо смене тек.индекса) св-во RecordCount будет <= 1. Чтобы получить актуальное значение RecordCount в тек.транзакции, нужно "сходить в конец" таблицы вызовом метода Last.

2. Даже если бы не было такой особенности и RecordCount в любой момент времени "показывало" действительное число записей в НД, переменная цикла i в приведенном тобой фрагменте нигде не используется, и по записям ты не перемещаешься вообще, так что цикл for j := 0 to будет все время работать в пределах тек.записи, той, на которой ты "стоишь" в момент старта цикла for i := 0 to


shane54   (2002-03-27 16:24:00) [3]

Спасибо, правда я уже сам все решил...


Aleksandr   (2002-03-27 16:19:00) [4]

Ну, если Вам хочется непременно такой код, то надо делать так:

Table.First;
for i:=0 to Table.RecordCount-1 do begin
for j:=0 to Table.FieldCount-1 do
write(Table.Fields[j].DisplayText," ");
writeln;
Table.MoveBy(1)
end;

а вообще принято делать так:

Table.First;
while NOT Table.EOF do begin
for j:=0 to Table.FieldCount-1 do
write(Table.Fields[j].DisplayText," ");
writeln;
Table.Next
end


Наверх

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