Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CheckListBox и права на БД 
:(
    Опции темы
santilaas
Дата 26.4.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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 ...') и изменения прав вносились в БД 

Как такое реализовать?
Заранее спасибо.


--------------------
[
PM MAIL   Вверх
Akella
Дата 27.4.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



используй невидимый CheckListBox или Record
PM MAIL   Вверх
santilaas
Дата 27.4.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



а если через массив?


--------------------
[
PM MAIL   Вверх
Akella
Дата 28.4.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



да можно и массив
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.