![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как с помощью компоненты 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.