Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Если вернуться к этому вопросу - правильно ли я понимаю, что в общем виде конструкция может быть такая, подключаемся к ФБ при загрузке с пользователем quest, права ему дадим только на чтение таблицы users, потом пользователь идентифицируется с форме "логин", если ок - выключаем quest и включаем соединение с пользователем. Пользователей может быть 2-3, например "админ", "продвинутый юзер", "юзер", что-то в этом роде. Т.е. В таблице будет 10 ФИО с паролями, после регистрации подключение к ФБ по одному из "пользователей" ФБ ("админ", "продвинутый юзер", "юзер") с ролями. Или "пользователя ФБ" надо заводить на каждое ФИО ? В последующем планируется иметь логи, кто где чего понаделал. Исправлено 1 раз(а). Последнее : DmitryKn, 27.03.23 15:00 |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Мне кажется, в вашем случае проще завести только одного пользователя ФБ (с ограниченными правами ессно) и под ним работать всем юзерам, а разруливать кому чего можно/нельзя уже программно. Заведёте специальную табличку с пользователями и еще одну с правами - и рулите как хотите, плюс свой интерфейс этим "рулением" нарисуете.
Вот представьте ежели кажного юзера вам заводить как отдельного пользователя FB ... это каждый раз при изменении/добавлении/увольнении править этих пользователей на серваке ... оно вам надо, да и не делают так. Можно так - на ФБ завели пару-тройку общих пользователей (скажем так ролей с основным набором прав) - и уже конкретному юзеру того или пользователя ФБ выбираете. Но все равно, логины-пароли-набор прав(роль) каждого конкретного Иванова Иван Иваныча вам вести "самостоятельно", заодно и логирование прикрутите. Все это ИМХО конечно. Данный вопрос не касается непосредственно ФБ, так что может более опытные камрады подскажут оптимальный вариант. |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
У себя делал максимально просто - пара таблиц - одна с типами_прав, вторая - кому какие типы включены. Учитывая что пункты проги которые видит юзверь - это также табл в базе, разрулить кому чего показывать - проще простого. Ну еще несколько специальных прав заведено.
Интерфейс управления этим добром тож максимально по-спартански прост (пара форм, одна с привелегиями, вторая с пользователями): [attachment 36522 p5.png] |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Спасибо!
попробуем |
Re: VFP и Firebird | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Не связывался с ФБ, но идея хорошая и стандартная:
"" Можно так - на ФБ завели пару-тройку общих пользователей (скажем так ролей с основным набором прав) - и уже конкретному юзеру того или пользователя ФБ выбираете. Но все равно, логины-пароли-набор прав(роль) каждого конкретного Иванова Иван Иваныча вам вести "самостоятельно", заодно и логирование прикрутите. |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Так я же и говорю, не суть важно ФБ там или постгресс какой - сам подход тот же, а уж как оптимально сделать - здесь есть варианты, и я не претендую на лучший
|
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Доброго дня!
не могу сделать выборку из БД, может подскажете, где ошибаюсь. Подключаюсь к ФБ, если успешно, то делаю запрос:
Если по условию
Поле VARCHAR, переменная символьное. Что ни делал, не получается. Если сделать такой же запрос по другому полю INT, и подставить в запрос явное число, то сработает. Если записать значение в переменную - то уже нет. Тащить всю таблицу из ФБ и потом уже выбирать нужную строку - не выглядит правильным. Подскажите, как можно подстановку в запросе сделать? |
Re: VFP и Firebird | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Подскажем. Цитата:Разумеется. Запрос выполняется сервером, который про тебя и твои переменные вообще ничего знать не знает. Для передачи локальных значений на сервер придуман специальный синтаксис. В фоксе это знак вопроса непосредственно перед выражениеем, значение которого надо передать на сервер. В обсуждаемом случае твой запрос должен выглядеть так:
------------------ Лень - это неосознанная мудрость. |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Спасибо! все работает отлично! Исправлено 2 раз(а). Последнее : DmitryKn, 01.04.23 13:07 |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Доброго дня!
Дайте еще пару советов из практики, как правильно проверять подключения. Например, запрашивать количество записей в какой-либо таблице, или получить, например, SQLGETPROP(nHandle, "datasource") или SQLGETPROP(nHandle, "Transaction"), если вернуло что-то, то соединение ок, если нет - подключили еще раз ? Если не ок, то нужно ли diconnect первого (отвалившегося) соединения в таком случае делать, не завешивает ли где чего? Как часто нужно проверять соединение? Например, грузим форму с данными - проверили, данные отредактировали, перед сохранением опять проверили, т.е. перед любым обращением к БД или как? Исправлено 1 раз(а). Последнее : DmitryKn, 02.04.23 10:54 |
Re: VFP и Firebird | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Я не проверяю соединение (может и плохо).
Почитайте ответ Игоря Королева, напрямую на вопрос не отвечает, но связано. forum.foxclub.ru ------------------ "Veni, vidi, vici!"(с) |
Re: VFP и Firebird | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Здравый смысл подсказывает, что перед любой DML-командой неплохо бы проверить соединение.
------------------ "Veni, vidi, vici!"(с) |
Re: VFP и Firebird | |
---|---|
_vit Сообщений: 5175 Дата регистрации: 29.07.2002 |
Нет гарантии, что соединение не отвалится сразу после проверки, до того как успеешь обратится к данным. Правильно было бы обращение к данным заключить в блок try и обрабатывать исключения. |
Re: VFP и Firebird | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
А как устроен обрамитель "try" в фоксе?
- Он проверяет, чтобы все операции внутри него выполнились в True? (скорее да) - Он делает откаты взад ? (нет) - Он сообщает о наличии ошибки в операторах внутри себя (да) ...вот и все, не более того. Т.. try не делает никаких откатов среди группы операторов (которые рн обслуживает), чисто сообщательная система об ошибках... ну, и позволяет их игнорировать, незаметно для оператора программы, и даже для разраба. Страшная вещь! ) |
Re: VFP и Firebird | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Автоматически восстановить все твои переменные, объекты, таблицы, файлы на флешке, вернуть купленные товары в магазин и деньги в кассу взаимопомощи, помириться с женой... - в общем, всё, что ты успел натворить внутри TRY, к состоянию на 8 апреля прошлого года? Сможет, но не в этой версии. Не совсем понимаю, что ты хотел этим сказать. Обрабатывать ошибки - забота автора. Кто, кроме тебя, может знать, что делать в том или ином случае? |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
так вроде и не должен, он не для этого, с чего бы ему откаты делать? |
Re: VFP и Firebird | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
1. А с чего взял, что он должен делать откаты, да еще и во внешней базе? 2. Открой таки для себя секцию Catch и научись писать все нужные тебе откаты. ------------------ Лень - это неосознанная мудрость. |
Re: VFP и Firebird | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
- последовательность выполнения операторов я знаю
- транзакциями не пользовался, только фоксовыми блокировкам Это плохо? |
Re: VFP и Firebird | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Конструкция TRY не имеет отношения ни к транзакциям, ни к блокировкам. Можно считать это расширением возможностей досовской ON ERROR. |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 300 Дата регистрации: 06.04.2022 |
Нет, это другое (если мы про TRY ) |
© 2000-2024 Fox Club  |