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

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

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


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