Найден 51 результат

santilaas
18 апр 2007, 18:22
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

и потом надо ли вообще активизировать транзакцию для записи Tr_Write сразу после коннекта к БД или просто делать StartTransaction по мере необходимости? - я ведь почему задал такой вопрос - я не могу понять одного: вроде как пишущую транзакцию нежелательно долго держать открытой, а если я уже при к...
santilaas
17 апр 2007, 18:01
Форум: Вопросы создания клиентских и серверных приложений
Тема: Хранимая процедура
Ответы: 8
Просмотры: 7274

Все, теперь (по этому вопросу) мне все ясно - спасибо Вам, kdv и CyberMax, огромное
santilaas
17 апр 2007, 17:53
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

смотрю интересная беседа получается - кстати, спасибо за развернутые ответы - многое мне стало понятным., но кое-что надо еще переварить, а потом комментировать. А ibx.htm я читал, но там не все описано, что мне нужно. И все-таки: управление пользователями (Services API) никак не связано с транзакци...
santilaas
16 апр 2007, 16:30
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

в добавление к моему предыдущему ответу - у меня как всегда масса вопросов - хочу добить эти транзакции раз и навсегда: 1) вопрос еще такой - если у меня 2 транзакции (Tr_Read и Tr_Write), то при ручном управлении транзакциями нужно писать так: DM.DataSet.UpdateTransaction.StartTransaction; //здесь ...
santilaas
15 апр 2007, 19:26
Форум: Вопросы создания клиентских и серверных приложений
Тема: Хранимая процедура
Ответы: 8
Просмотры: 7274

процитирую сам себя: притом она все правильно срабатывает, но "гасит" (делает неактивными мои датасеты (см. выше)) - почему так происходит - может кто подскажет? - потому что надо было у StoredProc поставить options-qoAutoCommit в False и указать для неё в качестве транзакции мою транзакцию на запис...
santilaas
15 апр 2007, 19:17
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

В общем, по каждому пункту конкретно: управление пользователями (Services API) никак не связано с транзакциями. То есть, вначале надо try добавить пользователя, а потом, если все прошло Ok, уже заниматься всякими Post и другими операциями с базой AddUser проходит, а Post вызывает exception. И что у ...
santilaas
11 апр 2007, 18:30
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

В общем с транзакцией я все разрулил - надо было сделать так: у DataSet-а ставим такие свойства: "Options" - "poStartTransaction" = "False"; "AutoCommit" = "True" и юзаем транзакцию на запись "Tr_Write" Сам код такой: DM.Tr_Write.StartTransaction; DM.DataSet.Append; try SecurityService1.AddUser; DM....
santilaas
11 апр 2007, 18:26
Форум: Вопросы создания клиентских и серверных приложений
Тема: Хранимая процедура
Ответы: 8
Просмотры: 7274

Помимо двух моих транзакций (на чтение из запись) завел еще одну: попробовал написать так: Tr_StoredProc.Active:=True; Tr_StoredProc.StartTransaction; DM.StoredProc.SQL.Clear; DM.StoredProc.SQL.Add('EXECUTE PROCEDURE GRANT_ROLE('''',''' + DM.DSRoleNAME.AsString + ''', ''' + trim(Edit.Text) + ''')');...
santilaas
10 апр 2007, 18:21
Форум: Вопросы создания клиентских и серверных приложений
Тема: Хранимая процедура
Ответы: 8
Просмотры: 7274

неясно только, зачем это мутить на сервере.
- а что в плохого в том, что я из своего приложения могу раздавать права, ВКЛЮЧАТЬ (ИСКЛЮЧАТЬ) пользователя в роль?! Единственное может я это немного коряво делаю - вот поэтому и прошу помощи
santilaas
10 апр 2007, 18:10
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

при постановке вопроса я немного ошибся - вот так выглядит код: DM.DataSet.Append; DM.DataSet.Transaction.StartTransaction; try SecurityService1.AddUser; DM.DataSet.Post; //еще кое-какие операции DM.DataSet.Transaction.CommitRetaining; FForm.ModalResult:= mrOK; except Application.MessageBox(PChar('О...
santilaas
09 апр 2007, 17:33
Форум: Вопросы создания клиентских и серверных приложений
Тема: Вопрос про права
Ответы: 2
Просмотры: 3890

Вопрос про права

Firebird 1.5.3, FibPlus 5.2 Вопрос такой: у меня MDI приложение - дочерние формы создаю динамически. Хочу, чтобы при открытии формы выполнялась проверка (наверное запросом к системным таблицам), и если у юзера есть права на добавление и изменение, например, то соответствующие кнопки делать доступным...
santilaas
09 апр 2007, 17:31
Форум: Вопросы создания клиентских и серверных приложений
Тема: Отменить изменения
Ответы: 20
Просмотры: 14742

Отменить изменения

Привет всем!!! Firebird 1.5.3, FibPlus 5.2 Вопрос такой: - нужно, чтобы, если в блоке Try произошла ошибка, то данные никуда не записывались и выполнился код except, - у меня же даже при ошибке (скажем произошедшей после DM.DataSet.Post;) происходит запись в Датасет - вот код: DM.DS_A_User2.Transact...
santilaas
09 апр 2007, 17:24
Форум: Вопросы создания клиентских и серверных приложений
Тема: Хранимая процедура
Ответы: 8
Просмотры: 7274

Хранимая процедура

Хранимая процедура: Firebird 1.5.3, FibPlus 5.2 Привет всем!!! Вопрос такой: есть хранимая процедура: CREATE PROCEDURE GRANT_ROLE ( CMD VARCHAR(6), ROLENAME VARCHAR(31), USR VARCHAR(31)) AS DECLARE VARIABLE EXESTUB VARCHAR(1024) = ''; begin if (rolename = '') then rolename = null; if (usr = '') then...
santilaas
02 апр 2007, 16:09
Форум: Вопросы создания клиентских и серверных приложений
Тема: Обработка потери подключения к БД.
Ответы: 8
Просмотры: 9239

У кнопки ОК ставишь св-во ModalResult = mrNone и ничего у тебя не закроется - это самом собой, но я имел ввиду другое: "case" выполняется у меня только после FMes.ShowModal;, стало быть без закрытия модальной формы, я на "case" не выйду!!! Если перефразировать вопрос: я как-нибудь могу отловить соб...
santilaas
01 апр 2007, 18:54
Форум: Вопросы создания клиентских и серверных приложений
Тема: Обработка потери подключения к БД.
Ответы: 8
Просмотры: 9239

Все бы ничего, но ведь форма модальная и при нажатии на "ОК" она закроется. И в принципе оно согласно моему коду будет правильно - ведь только после закрытия выполняется "case". А мне надо, чтобы она осталась.
santilaas
01 апр 2007, 06:00
Форум: Вопросы создания клиентских и серверных приложений
Тема: Обработка потери подключения к БД.
Ответы: 8
Просмотры: 9239

Ты хочешь сделать, чтобы действие, выбранное пользователем, тут же применялось? Так делать нельзя, потому что это грубейшее нарушение правил UI (пользовательского интерфейса). Конкретные действия должны применяться только после подтверждения пользователем, то есть нажатия кнопки "ОК". - и что же мн...
santilaas
31 мар 2007, 10:58
Форум: Вопросы создания клиентских и серверных приложений
Тема: Открыта ли форма?
Ответы: 1
Просмотры: 3354

Открыта ли форма?

Привет всем!!! СУБД - Fireburd 1.5.3, язык - Delphi, средство доступа - FIBPlus Вопрос такой: с помощью компонента pFIBErrorHandler в DataModule стараюсь обработать все ошибки БД и на некоторые из них вывести свои сообщения. НО!!! для 2-х форм (Form1, Form2) хочу сделать, чтобы для них выполнялся св...
santilaas
30 мар 2007, 17:36
Форум: Вопросы создания клиентских и серверных приложений
Тема: Обработка потери подключения к БД.
Ответы: 8
Просмотры: 9239

Обработка потери подключения к БД.

Привет всем!!! СУБД Firebird 1.5.3, язык - Delphi, ср.доступа - FIBPlus Вопрос такой: хочу сделать обработку потери подключения к БД (по книге "Мир Interbase 3") НО там для примера рассмотрена одна форма (и один Dataset), на которой лежат все FIB-овские компоненты, и следовательно все процедуры тоже...
santilaas
24 мар 2007, 18:57
Форум: Вопросы создания клиентских и серверных приложений
Тема: Время начала подключения пользователя к БД
Ответы: 2
Просмотры: 3770

Время начала подключения пользователя к БД

Привет всем!
Вопрос такой: как определить время начала работы пользователя (т.е. когда он подключился к БД)? Дело в том, что хочу реализовать вывод списка активных на данный момент пользователей БД с указанием времени, с котого они начали работу.
Заранее спасибо!