powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ошибка при нескольких retrieve одновременно
13 сообщений из 13, страница 1 из 1
Ошибка при нескольких retrieve одновременно
    #35739474
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В окне происходит retrieve нескольких DW.
И какой-то retieve происходит тогда когда другой еще не закончился.
возникает ошибка: Only the cancel command is allowed when the response from the server is pending
Как проверить идет ли в данный момент retrieve?понятно что можно в event retrievestart взводить флаг и event retrieveend снимать. Но может есть стандартные средства для этого?И как лучше организовать цикл ожидания завершения retrive? что бы он его не затормозил.
спасибо.
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35739847
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-идее второй ретрив должен начаться только после завершения первого (если не делать каки-то специальных телодвижений). Так что если просто написать
Код: plaintext
1.
dw_1.Retrieve()
dw_2.Retrieve()
, то будет работать, как Вам надо.
Можно запускать второй ретрив в событии retrieveend первого (но в это событие без надобности лучше ничего не сувать).
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35739925
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня вызов retrieve происходит из event rowfocuschanged. Мне надо что бы некоторые datawindow обновлялись именно при изменении строки главного datawindow
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35740459
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zу меня вызов retrieve происходит из event rowfocuschanged. Мне надо что бы некоторые datawindow обновлялись именно при изменении строки главного datawindow
Подскажи администратору сервера на котором стоит БД к которой твой клиент подключается, может он бедный ищет, что случилось с производительностью, ему очень поможешь, только анонимно, а то убьет. И смени EVENT на другой но не rowfocuschanged куда ставишь retrieve .
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35740699
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zу меня вызов retrieve происходит из event rowfocuschanged. Мне надо что бы некоторые datawindow обновлялись именно при изменении строки главного datawindow

Нормальный подход.
Аналогичные алгоритмы приведены в CodeExample от Sybase - только там это называется Master/slave или Master/Detail - когда смена позиции курсора на master-datawindow переопределяет retrieve-парметры для подчиненного. При необходимости это может быть не только rowfocuschanged , но itemfocuschanged или itemchanged...

Вот только по каким-то причинам, кажется чисто шаманским - на само событие типа <*>changed ничего громоздкого вешать не рекомендуется.
Лучше на этом же datawindow создать user event вида ue_post<*>changed (при необходимости - с заданными параметрами) , запустить его асинхронно в post режиме из стандартного change-event-а

This.POST event ue_<*>changed (...)

А нужный вам код уже разместить в этом ue_<>changed
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35740914
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZhV,

Совершенно согласен, так и поступить.
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35740933
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в rowfocuschanged вызов функции в кторой retrieve выполняется с POST. Почему то показалось это логичным, вот и написал. Сейчас POST убрал, все заработало без ошибок!Странно почему из-за него был такой эффект.
Всем спасибо.
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35741173
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zв rowfocuschanged вызов функции в кторой retrieve выполняется с POST. Почему то показалось это логичным, вот и написал. Сейчас POST убрал, все заработало без ошибок!Странно почему из-за него был такой эффект.
Всем спасибо.

Возможно это связано с тем, что во время retrieve отрабатывают события retrievestart/retrieverow, а заодно с ними и все в что положено в очередь событий через POST.
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35909111
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Окно с кучей обращений к базе. Возникает ошибка:
Only the cancel command is allowed when the response from the server is pending
как то можно настроить соединение чтобы заставлять ожидать завершения преыдущей SQL команды?Что бы эта ошибка не вылазила?
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35909137
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97Окно с кучей обращений к базе. Возникает ошибка:
Only the cancel command is allowed when the response from the server is pending
как то можно настроить соединение чтобы заставлять ожидать завершения преыдущей SQL команды?Что бы эта ошибка не вылазила?
Подозреваю, что поможет параметр Async в свойстве PBParm объекта Transaction.
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35909172
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркПодозреваю, что поможет параметр Async в свойстве PBParm объекта Transaction.
ТОЧНО!
он был установлен в 1(я делаю не с нуля приложение)
я установил в 0
скорость выросла и ошибка перестала вылазить!
а что это за параметр?что он означает?
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35909203
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непонятно если я ставлю Async=0 то что происходит с работой БД?например у меня в функции есть 2 sql запроса. они что теперь будут выполняться паралельно а не последовательно как раньше?
...
Рейтинг: 0 / 0
Ошибка при нескольких retrieve одновременно
    #35909845
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97Непонятно если я ставлю Async=0 то что происходит с работой БД?например у меня в функции есть 2 sql запроса. они что теперь будут выполняться паралельно а не последовательно как раньше?
Параллельно они исполнялись когда Async был равен 1.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ошибка при нескольких retrieve одновременно
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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