Страница 1 из 1

тормоза при просмотре списка в DBGrid

Добавлено: 15 сен 2006, 15:09
Axelus
Уважаемые господа!

В моей базе данных две таблицы: clients и access. Первая содержит перечень клиентов и данные клиентов. Вторая - таблица доступа по принципу Номер_клиента - Номер_пользователя.

При отображении таблицы клиентов в DBGrid (select * from clients) мне требуется определить, есть ли доступ к этому клиенту или нет. В зависимости от наличия доступа строка Грида должна отображаться по разному.

Но при этом мне приходится при прорисовке таблицы делать SQL-запрос на каждую строчку. В результате при прорисовке Грида наблюдаются тормоза.

Если кто сталкивался с подобной задачей - не поделитесь опытом, как правильно организовать отслеживание доступа?

Буду благодарен за любую помощь!

Добавлено: 15 сен 2006, 15:51
Karp

Добавлено: 15 сен 2006, 16:30
WildSery
С задачей как ускорить запрос при прорисовке каждой строки грида тут точно никто не сталкивался. Ибо мы себе таких сверхзадач не ставим :lol:
Пусть в гриде у тебя будет невидимое юзеру поле (join'ом ты его туда прилепишь или ещё как - неважно) от значения которого и будет зависеть прорисовка текущей строки.

Re: тормоза при просмотре списка в DBGrid

Добавлено: 17 сен 2006, 12:23
Фанис
Axelus писал(а): Но при этом мне приходится при прорисовке таблицы делать SQL-запрос на каждую строчку. В результате при прорисовке Грида наблюдаются тормоза.
Про join тебе отписали выше - все это можно реализовать в query.sql. Есть еще один вариант - прописать в ХП - здесь выборку можно контролировать дополнительными параметрами. Последний вариант предпочтительней по причине удобства корректировки только сервера - если, конечно, хорошо проработана логика.

Добавлено: 20 сен 2006, 13:00
Axelus
Спасибо за помощь!
Я воспользовался методом JOIN - все получилось как надо. И довольно быстро :)