powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
6 сообщений из 6, страница 1 из 1
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32842412
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю STP-запрос обновляемым (устанавливаю свойства UpdatableFieldList, UpdateNameList, Tables, KeyFieldList, SendUpdates, Buffering = 5).
В открытой рабочей области ноль записей.
Делаю append blank, присваиваю всем обновляемым полям правильные значения. Проверяю функцию GetNextModified(0) ну или 1 - она возвращает 0, как будто таблица не обновлена. Хотя если делаю tableupdate(.t.) - ODBC-запрос на вставку проходит корректно.
Ну и почему такая несправедливость ? Аналогичный вариант если делать через обновляемое удаленное представление - функция GetNextModified(0) возвращает правильное значение
...
Рейтинг: 0 / 0
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32842491
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, ошиблись рабочей областью. Т.е. натравливаете GetNextModified() не на ту таблицу.

Попробуйте явно прописать рабочую область:

?GetNextModified(0,"MySTPCursor")
...
Рейтинг: 0 / 0
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32843712
lnu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое STP-запрос?
...
Рейтинг: 0 / 0
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32845427
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STP - ошибся. Конечно SPT - SQL Pass Througth. С рабочей областью не ошибаюсь.
...
Рейтинг: 0 / 0
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32846868
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищи ошибку у себя.

Проверил в VFP8 все нормально, если SPT-курсор в 5 режиме буферизаци, то после APPEND BLANK GetNextModified(0) возвращает -1, что и должно быть.

Дело в том, что работа GetNextModified() никак, никоим образом не зависит от того, каким образом был создан курсор.

Имей в виду, что параметр функции GetNextModified() - это физический номер записи начиная с которого надо искать измененную запись. Поэтому, если изначально курсор был пустой, то использование в качестве параметра 1 даст 0 (ничего не найдет), поскольку ты пытаешся искать запись после записи с физическим номером 1. А такой записи в принципе не существует. В качестве параметра надо указывать именно 0. Т.е. искать с самого начала.

Новые записи в буферизированной таблице до того, как буфер будет сброшен имеют отицательный физический номер. Поэтому, полученное значение -1 - это не ошибка. Это действительно такой физический номер записи. Отрицательный. Проверь, что вернет функция Recno()
...
Рейтинг: 0 / 0
Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
    #32848658
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To ВладимирМ:
Спасибо ! Аж обидно, что видя то, что возникают записи с отрицательным номером и почитав про это в доке, я забыл, что и GetNextModified тоже номер записи возвращает, и проверял на >0 вместо <>0.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему не работает функция GetNextModified() в обновляемом SPT-запросе ?H
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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