powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор адаптер и работа с ролями
6 сообщений из 6, страница 1 из 1
Курсор адаптер и работа с ролями
    #37499255
Доброго времени суток. Возник такой вопрос.Есть база данных на Firebird, есть роль User_Pl.Этой роли в таблице Driver, назначены права только для просмотра таблицы. Создаю строку подключения с пользователем имеющим данную роль. Дальше в курсор адаптер выбираю данные из этой таблицы:
lodo_DRIVERS = CreateObject("CursorAdapter")
With lodo_DRIVERS
.Alias = "C_DRIVERS"
.DataSourceType = "ODBC"
.DataSource = m.lnConnect
.BatchUpdateCount = 5
.FetchSize = -1
.SelectCmd = 'SELECT TAB_N, DRIVERFIO, DRIVERDOC, DRIVERLICENZ, KATGA, KATGB, KATGC, KATGD, KATGE, Kontrakt, Nadbavka, Tarif, ID, Adress FROM DRIVERS ORDER BY TAB_N'
.KeyFieldList = 'ID'
.Tables = 'DRIVERS'
.UpdatableFieldList = 'TAB_N, DRIVERFIO, DRIVERDOC, DRIVERLICENZ, KATGA, KATGB, KATGC, KATGD, KATGE, ADRESS, ID, Kontrakt, Nadbavka, Tarif'
.UpdateNameList = 'TAB_N DRIVERS.TAB_N,DRIVERFIO DRIVERS.DRIVERFIO,DRIVERDOC DRIVERS.DRIVERDOC,ID DRIVERS.ID,DRIVERLICENZ DRIVERS.DRIVERLICENZ,';
+'KATGA DRIVERS.KATGA,KATGB DRIVERS.KATGB,KATGC DRIVERS.KATGC,KATGD DRIVERS.KATGD,KATGE DRIVERS.KATGE,ADRESS DRIVERS.ADRESS,';
+ ' Kontrakt Drivers.Kontrakt, Nadbavka Drivers.Nadbavka, Tarif Drivers.Tarif'
.CursorFill()
ENDWITH
Подскажите пожалуйста как узнать что данная таблица открыта только для чтения.
...
Рейтинг: 0 / 0
Курсор адаптер и работа с ролями
    #37499671
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина_ПроявинаПодскажите пожалуйста как узнать что данная таблица открыта только для чтения.
Попытаться в нее что-то записать и проанализировать ошибку, если таковая возникнет. По коду ошибки дать развернутое пояснене пользователю, если необходимо.

По другому - это должна быть какая-то системная таблица (или функция) в базе Firebird, по содержимому которой можно узнать о статусах таблиц. Я не работал с Firebird, поэтому сказать что именно - не могу. Но это будет запрос вне CursorAdapter.

А, собственно, какая Вам разница? Если нет прав на запись, ведь все-равно ничего записать не смогут. Клиент не сможет обойти ограничения сервера к которому подключен. Ну и пусть модифицирует в форме что угодно. Все равно ничего не сохранится...
...
Рейтинг: 0 / 0
Курсор адаптер и работа с ролями
    #37500133
Попытаться в нее что-то записать и проанализировать ошибку, если таковая возникнет. По коду ошибки дать развернутое пояснене пользователю, если необходимо.
Ошибка возникает,и после этого приходится разрывать соединение. И вот что бы этого не делать,хотелось бы заранее запретить ввод,корректировку и удаление записи для конкретного пользователя. Спасибо за идею с системной таблицей. Попробую посмотреть.
...
Рейтинг: 0 / 0
Курсор адаптер и работа с ролями
    #37500239
Спасибо большое за совет по поводу системной таблицы. Есть такая таблица,как RDB$USER_PRIVILEGES в которой хранятся пользователи и то что они могут делать с таблицей. Так что вопрос снят. Еще раз спасибо
...
Рейтинг: 0 / 0
Курсор адаптер и работа с ролями
    #37500334
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина_ПроявинаПопытаться в нее что-то записать и проанализировать ошибку, если таковая возникнет. По коду ошибки дать развернутое пояснене пользователю, если необходимо.
Ошибка возникает,и после этого приходится разрывать соединение.
Зачем соединение-то разрывать? Просто откатываете все сделанные на клиенте изменения (TableRevert()) и продолжаете работать.
...
Рейтинг: 0 / 0
Курсор адаптер и работа с ролями
    #37500465
ВладимирМЕкатерина_Проявинапропущено...

Ошибка возникает,и после этого приходится разрывать соединение.
Зачем соединение-то разрывать? Просто откатываете все сделанные на клиенте изменения (TableRevert()) и продолжаете работать.
Спасибо за еще один хороший совет с (TableRevert()). Еще раз понимаешь что надо учится учится и учится.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор адаптер и работа с ролями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]