Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запретить редактирование данных в готовой программе ADO + Access?


ViK_Tor ©   (2009-02-22 17:36:00) 

Написал простенькую БД (ADO + Access). Строка соединения такая
ADOConnectionM.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
 'Data Source=C:\file.mdb;Mode=Share Deny None;Persist Security Info=False;'+
   'Jet OLEDB:Database Password=""';

можно как-то запретить редактирование данных (запретить INSERT, UPDATE...), если программа НЕ запущена с ключом " /ключ", не переделывая всю программу?


ViK_Tor   (2009-02-22 20:44:00) [1]

> KilkennyCat ©   (22.02.09 20:27) [6]
> то же без изменения программы?
Во-первых, я спросил: "не переделывая всю программу?"
А не как Вы это интерпретируете!

> отловить его и подсунуть свое...
именно это мне бы и сделать!

> А то завтра тебя попросят о частичной раздаче прав различным
> пользователям, что ты будешь тогда делать?

Меня не просили делать и это! А уж про "частичную раздачу прав" они никогда и не слышали )))!


KilkennyCat   (2009-02-22 20:27:00) [2]

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


ViK_Tor   (2009-02-22 20:20:00) [3]

Ещё раз, спасибо, sniknik!
Сделал так:
if System.ParamStr(1)='/user' then ADOConnection.Mode:=cmRead;
всё срабатывает как надо!

А можно как-то "отлавливать" при Mode:=cmRead все попытки изменить/добавить записи в *.mdb, чтобы вместо стандартного: "... должен быть обновляемый запрос", выводить что-то, вроде: "У Вас нет прав на внесение изменений в базу!" -?!?


ViK_Tor   (2009-02-22 18:15:00) [4]

> sniknik ©   (22.02.09 18:11) [3]

Спасибо, sniknik!
попробую!


sniknik   (2009-02-22 18:11:00) [5]

вместо
Share Deny None;
поставь
Mode=Read;


ViK_Tor   (2009-02-22 17:46:00) [6]

> KilkennyCat ©   (22.02.09 17:40) [1]
> как не передылывая программу, определить, с каким параметром(ключом)
> она запущена


Я имел ввиду - найти более простой способ, чем в нажатии на каждую кнопку, отвечающую за сохранение или редактирование записи писать:
if ... then ... else
проверяя каждый раз - запущена была программа с ключом или нет!

Можно как-то внести изменения в строки, отвечающие за соединение с БД, чтобы получить нужный эффект!?


KilkennyCat   (2009-02-22 17:40:00) [7]

как не передылывая программу, определить, с каким параметром(ключом) она запущена?


Наверх

Титульная страница Поиск, карта сайта Написать письмо