powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Shared transaction
15 сообщений из 15, страница 1 из 1
Shared transaction
    #35412519
swisssmile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Мучает один вопрос, но решения не могу найти.
Имеется MDI приложение. Ситуация такова: пользователь открывает одно окно и начинает менять данные. По ходу из скрипта itemchanged выполняется серия insert/update. Не сохраняя данных, пользователь переключается в другое окно внутри программы и редактирует в нем данные, затем сохраняет. Второе окно при успешном сохранении выполняет COMMIT. При этом серии insert/update, выполненные в первом окне, тоже сохраняются в базе. После этого пользователь закрывает первое окно без сохранения изменений. В результате - порченые данные.
Как решить данную проблему? Разные transaction objects в каждом окне?
...
Рейтинг: 0 / 0
Shared transaction
    #35412542
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы сами ответили на свой вопрос
Использовать разные Transaction Object, и коммитить их отдельно
Код: plaintext
COMMIT {USING TransactionObject}
...
Рейтинг: 0 / 0
Shared transaction
    #35412760
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoRВы сами ответили на свой вопрос
Использовать разные Transaction Object, и коммитить их отдельно
Код: plaintext
COMMIT {USING TransactionObject}

Такой подход мне кажется не приемлем, т.к. окон может быть много, а ещё больше DW в которых может происходить редактирование. Эдак можно наплодить целую тучу TransactionObject.
Помоему, всё решается гораздо проще: при потере фокуса окна, задавать вопрос на сохранение изменений.
Конечно, можно ещё, чтобы по умолчанию update в DW был не активен и включать его при закрытии окна и т.д., но это всё же сложнее и (как говорят в Одессе) могут быть нюансы. :)
...
Рейтинг: 0 / 0
Shared transaction
    #35412921
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To swisssmile
Уж больно интересный у тебя e-mail адресок бла-бла@ mac.com
Это как-то так получилось или Apple PowerBuilder использует?
...
Рейтинг: 0 / 0
Shared transaction
    #35412930
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swisssmileДобрый день.
Мучает один вопрос, но решения не могу найти.
Имеется MDI приложение. Ситуация такова: пользователь открывает одно окно и начинает менять данные. По ходу из скрипта itemchanged выполняется серия insert/update. Не сохраняя данных, пользователь переключается в другое окно внутри программы и редактирует в нем данные, затем сохраняет. Второе окно при успешном сохранении выполняет COMMIT. При этом серии insert/update, выполненные в первом окне, тоже сохраняются в базе. После этого пользователь закрывает первое окно без сохранения изменений. В результате - порченые данные.
Как решить данную проблему? Разные transaction objects в каждом окне?
А какая СУБД используется? Если какая-либо из блокировочных, то за серии insert/update без commit сразу уши отрывать нужно.
Да и с версионными так тоже не очень работать, хотя не так плохо как с блокировочными...
...
Рейтинг: 0 / 0
Shared transaction
    #35413183
серию insert/update вынести из itemchanged на сохранение.
...
Рейтинг: 0 / 0
Shared transaction
    #35413512
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black Savage To swisssmile
Уж больно интересный у тебя e-mail адресок бла-бла@ mac.com
Это как-то так получилось или Apple PowerBuilder использует?
Довольно долго ПБ существовал и на Маке, но с 6 или 7 версии с Мака исчез!
...
Рейтинг: 0 / 0
Shared transaction
    #35413690
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To sboyko
Слышал тока про Linux, про Mac не знал.
Спасибо, запишу в свою RAM...
...
Рейтинг: 0 / 0
Shared transaction
    #35413776
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black Savage To sboyko
Слышал тока про Linux, про Mac не знал.
Спасибо, запишу в свою RAM...
Я очень сомневаюсь, что слышали про Linux , т.к. тому была без году неделя когда последний PB под Unix выходил
...
Рейтинг: 0 / 0
Shared transaction
    #35414027
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркЯ очень сомневаюсь, что слышали про Linux, т.к. тому была без году неделя когда последний PB под Unix выходил
Да мне как-то все равно, что Linux , что Unix - те же яйца, только в профиль...
...
Рейтинг: 0 / 0
Shared transaction
    #35415593
swisssmile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Black Savage To swisssmile
Уж больно интересный у тебя e-mail адресок бла-бла@ mac.com
Это как-то так получилось или Apple PowerBuilder использует?
Не знаю использует Apple PowerBuilder или нет, но емайл такого плана дается пользователю сервиса .mac (www.mac.com).
...
Рейтинг: 0 / 0
Shared transaction
    #35415597
swisssmile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк
А какая СУБД используется? Если какая-либо из блокировочных, то за серии insert/update без commit сразу уши отрывать нужно.
Да и с версионными так тоже не очень работать, хотя не так плохо как с блокировочными...
Oracle 9i.
...
Рейтинг: 0 / 0
Shared transaction
    #35418597
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swisssmile Локшин Марк
А какая СУБД используется? Если какая-либо из блокировочных, то за серии insert/update без commit сразу уши отрывать нужно.
Да и с версионными так тоже не очень работать, хотя не так плохо как с блокировочными...
Oracle 9i.
Тогда это не смертельно, но все равно лучше избегать длинных транзакций.
...
Рейтинг: 0 / 0
Shared transaction
    #35418848
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swisssmileДобрый день.
Мучает один вопрос, но решения не могу найти.
Имеется MDI приложение. Ситуация такова: пользователь открывает одно окно и начинает менять данные. По ходу из скрипта itemchanged выполняется серия insert/update. Не сохраняя данных, пользователь переключается в другое окно внутри программы и редактирует в нем данные, затем сохраняет. Второе окно при успешном сохранении выполняет COMMIT. При этом серии insert/update, выполненные в первом окне, тоже сохраняются в базе. После этого пользователь закрывает первое окно без сохранения изменений. В результате - порченые данные.
Как решить данную проблему? Разные transaction objects в каждом окне?

извиняюсь за *off*, но если я правильно понял, то я уверен что проблему надо решать немного по другому, например не давать юзеру делать выше перечисленное, т.е. на попытки открыть уже открытое окно, или выкинуть мэссагу типа *сохрани-или-несохрани, закрой а потом открывай окно ешё раз* или переноси уже открытое окно с заднего плана ему под нос.
...
Рейтинг: 0 / 0
Shared transaction
    #35418862
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А лучше решать еще по-другому - убрать из itemchanged работу с базой.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Shared transaction
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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