не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
добрый день
сегодня столкнулся с тем, что не срабатывает RecordRefresh на курсорадаптере в базе в таблице периодически происходят изменения, которые на конкретной записи я обновляю через recordrefresh таким образом refresh не срабатывает
а вот так срабатывает
куда копать? мне нужно, чтобы независимо от буферизации и возможных изменений данные по CursorRefresh обновлялись с сервера |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
PaulWist Сообщений: 14616 Дата регистрации: 01.04.2004 |
Ты какие данные пытаешься отрефрешить Native или SQLServer?
Что возвращает:
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 24.10.17 13:35 |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
sql server
oCa.recordrefresh возвращает 1, поэтому отсутствие обновления для меня стало неожиданостью профайлером смотрел запрос на сервере - он возвращает корректные данные, но в локальной таблице они не обновляются случайно заметил, что revert исправляет ситуацию Исправлено 1 раз(а). Последнее : AlexSSS, 24.10.17 13:50 |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
PaulWist Сообщений: 14616 Дата регистрации: 01.04.2004 |
Тогда смотри профайлером какую команду СА.RecordRefresh отправляет на сервер в обоих случаях.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
пока дополнял прошлое сообщение, ты уже ответил ;)
сейчас перепроверю, но скорее всего TABLEREVERT работает только с локальной таблицей и на сервер ничего не отправляет |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
в обоих случаях запросы на сервер абсолютно одинаковые (смотрел профайлер)
revert наверняка работает только на локальном компе Исправлено 1 раз(а). Последнее : AlexSSS, 24.10.17 14:02 |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Цитата:Если запись изменена локально (GETFLDSTATE(-1) покажет так это или нет), то "отображаться" (т.е. возвращаться при обращении к курсор.поле) будут именно "локальные" данные, а не "свежачок с сервера". Этот самый свежачок доступен через функцию CURVAL("курсор.поле"). Ну или после "отмены" как собственно данные в курсор.поле Реверт, конечно, ничего на сервер не шлёт, но он влияет на "соотношение" между OLDVAL/CURVAL/собственно_обращение_к_полю. ------------------ WBR, Igor |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
в таблице несколько десятков полей
перед редактированием записи я хочу скачать самые свежие данные по записи с сервера и мне для этого надо проверять GETFLDSTATE(-1) на всех полях? |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
GETFLDSTATE(-1) возвращает в виде строки статус для всех полей записи (включая признак удаления).
P.S. Ну а сами скачанные "свежие данные" гарантированно видны только через CURVAL(). "Напрямую" они видимы (т.е. произойдёт изменение отображаемых данных) только если запись НЕ изменялась, т.е. GETFLDSTATE(-1) вернёт строку из одних лишь единиц. ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 24.10.17 14:57 |
Re: не срабатывает RecordRefresh на курсорадаптере | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Игорь, спасибо огромное за помощь
GETFLDSTATE(-1) - теперь буду знать, раньше им никогда не пользовался ;) заодно разобрался откуда в локальном курсоре у меня происходят изменения, про которые я не знал ;) |
© 2000-2024 Fox Club  |