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

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

Как с помощью компоненты TABLE узнать номер текущей отображаемой [D6, dBase, FoxPro]


ValexWeb ©   (2006-11-23 08:47:00) 

Как с помощью компоненты TABLE узнать номер текущей отображаемой записи, номер предыдущей или следующей.
Посоветуйте пожалуйста


Anatoly Podgoretsky   (2006-11-24 11:32:00) [1]

> ~SerJant~  (24.11.2006 10:59:16)  [16]

Ты это сам решил, или тебе кто то сказал?


~SerJant~   (2006-11-24 10:59:00) [2]

так здесь ведь про TTable и спрашивается, и RecNo() будет возвращать физический номер записи


Anatoly Podgoretsky   (2006-11-23 13:51:00) [3]

> ANB  (23.11.2006 13:46:13)  [13]

Для TTable и xBase это равно RecNo() у фокса. Это физический номер записи в таблицы. Для TQuery это уже не так. Это уже логический номер и не таблицы, а набора данных.


ANB   (2006-11-23 13:50:00) [4]


> Может в Оракле это и так, но не в БДЕ

Не понял - я не про оракл. и не про БДЕ.
Это функция (RecNo()) фокса и клиппера - родных сред для ДБФ. Ее описание я и привел.


ANB   (2006-11-23 13:46:00) [5]


> RecNo не 1 выдать? А у TQuery имеет уже другой смысл?

Не путать свойство RecNo у квери и функцию RecNo() у фокса. Они имеют разный смысл. Свойство же RecNo использовать нужно крайне аккуратно. У некоторых движков оно вообще всегда равно -1.


Anatoly Podgoretsky   (2006-11-23 13:42:00) [6]

> ANB  (23.11.2006 13:30:07)  [7]

Может в Оракле это и так, но не в БДЕ


Anatoly Podgoretsky   (2006-11-23 13:41:00) [7]


> неизвестны еще причины автора узнать номер записи

Повторяю вопрос, теперь уже к тебе

Какой именно номер?


Anatoly Podgoretsky   (2006-11-23 13:40:00) [8]

> ~SerJant~  (23.11.2006 13:25:04)  [4]

> соответственно этот номер согласно первичного ключа

???


ЮЮ   (2006-11-23 13:36:00) [9]


>
> Recno() - это положение записи внутри файла таблицы


А если использовать другой индекс, то для первой записи может RecNo не 1 выдать? А у TQuery имеет уже другой смысл?


~SerJant~   (2006-11-23 13:33:00) [10]

неизвестны еще причины автора узнать номер записи - более понятно было бы как поступить


ANB   (2006-11-23 13:30:00) [11]


> ~SerJant~   (23.11.06 13:25) [4]
> Table.Recno()
>
> соответственно этот номер согласно первичного ключа

Recno() - это положение записи внутри файла таблицы. Использовать его в логических целях нельзя, т.к. запись может переехать по разным причинам. Допускается только кратковременное использование для восстановление ранее сохраненной позиции и то это имеет смысл только в программах на фоксе и клиппере.


~SerJant~   (2006-11-23 13:28:00) [12]


> Desdechado ©   (23.11.06 13:27) [5]


с чего это глупость?


Desdechado   (2006-11-23 13:27:00) [13]

~SerJant~   (23.11.06 13:25) [4]
Глупость полнейшая.


~SerJant~   (2006-11-23 13:25:00) [14]

Table.Recno()

соответственно этот номер согласно первичного ключа


Desdechado   (2006-11-23 11:42:00) [15]

У записи есть, конечно, внутренний номер, но пользоваться им категорически не рекомендуется. Для целей идентификации записи должен быть первичный или уникальный ключ.


Anatoly Podgoretsky   (2006-11-23 09:32:00) [16]

> ValexWeb  (23.11.2006 08:47:00)  [0]

Какой именно номер?


Sergey13   (2006-11-23 08:55:00) [17]

> номер текущей отображаемой записи

Так текущей или отображаемой? Отображаемых может быть много (и среди них может не быть текущей!!!), текущая одна и к ней ты можешь обращаться в любое время Table1.FieldByName или подобными способами. Соседние можно прочитать сместившись на них по Next или Prior.


Наверх

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