![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| santilaas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
Привет всем!!!
Firebird1.5.3, FIBPlus5.3 Вопрос такой - пытаюсь сделать разграничение прав пользователей (притом к стандартным правам Firebird добавил ещё и свои права). На форме лежат: - DBGrid_Users (DataSetUser) - таблица, в которой хранятся сведения о пользователях, - DBGrid_Obj (DataSetObj) - ИЕРАРХИЧЕСКАЯ таблица, в которой хранятся названия таблиц БД - CheckListBox (список прав). Что есть: при перемещении по записям DataSetObj в зависимости от типа (справочник, документ и т.д.) таблицы, в CheckListBox отображаю соответствующие названия прав. При этом каждый раз при перемещении либо по запиям DataSetObj, либо по записям DataSetUser у нужных прав проставляю флажки (т.е. каждый раз выполняется запрос по извлечению прав - что как мне кажется уже не хорошо). И опять же, если мы хотим изменить какое -то право, то каждый раз срабатывает запрос на Grant или Revoke, что тоже дергает базу. Что нужно: при открытии формы хотелось куда-нибудь (КУДА??? - если можно пример) временно записать список прав по всем таблицам, и затем, ставя/убирая флажки у прав, записывать изменения именно во временном списке, и чтобы при перемещении по записям флажки в CheckListBox поставлялись именно из этого списка, кроме того, чтобы при нажатии на кнопку "Сохранить изменения", этот временный список сравнился с изначальным и там, где произошли изменения, выполнялся запрос Query ('Grant/revoke ...') и изменения прав вносились в БД Как такое реализовать? Заранее спасибо. -------------------- [ |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
используй невидимый CheckListBox или Record
|
|||
|
||||
| santilaas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
а если через массив?
-------------------- [ |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
да можно и массив
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |