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