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

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

Поиск следующей записи [D6, Paradox]


Страницы:   1 2

Beglec ©   (2004-05-10 05:06:00) 

Даже не знаю с чего начать.
Задача: Найти следующую запись удовлетворяющею условию.
Проблема: не могу это реализовать.
Итак начнемс
Есть две базы данных [Paradox]. База клиентов и база заметок этих клиентов. У каждого клиента может быть от 0 до N заметок.
Программа Клиент сервер.
Хочу сделать Следующий алгоритм.
Клиент: запросил первую заметку
Сервер: дал одну самую первую заметку
Клиент: запросил следующую заметку, после полученной. [клиент не знает конечно же номер следующей заметки]
Сервер: выдал следующую заметку.
и т.д.
Использую метод TTable.Locate
При этом Locate всегда выдает первую подходящую запись.
Как же найти следующую заметку N+1 именно указанного клиента?

Вариант до которого до пер, только перебирать все записи подряд, то есть
Whilte not Table.Eof do ....
- но это долго, при больших объемах просто помешается машина

Может можно методом Locate как то использовать? Просто он значительнее быстрее работает

Спасибо
С Уважением Beglec


Beglec   (2004-05-10 09:27:00) [21]

Программа Клиент - устанавливается на клиенте
Программа Сервер - устанавливается на 1 компьютере сервере

обмен по TCP/IP протоколу.
BDE установленно только на сервере - только сервер узает BDE
Клиент посылается разные запросы - а программа сервер просто их обрабатывает :)
Но какое отношение это имеет к поиску ?


Anatoly Podgoretsky   (2004-05-10 09:12:00) [22]

Программа Клиент сервер. ? Требуется разъяснение, может срвер приложений?


Beglec   (2004-05-10 05:27:00) [23]

1. Метод

Table.Locate(условия [номер заметки])
While not Table.Eof do
begin
  if (Номер заметки +1, и заметка принадлежит указанному клиенту) then Break;
end;

все равно приходится перебирать много записей
---------------------------
2. Метод
Table2.Create;
Table2.Filter(заметки только по этому );
Table2.Locate(условия)
Table2.Next;
Table2.Free;
создание и удаление дополнительного объекста TTable также занимает значительное время

Может все таки что то быстрее есть ?


Страницы:   1 2

Наверх

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