powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Select не видит изменений в курсорах
7 сообщений из 7, страница 1 из 1
Select не видит изменений в курсорах
    #39098387
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Который раз спотыкаюсь на одной и той же проблеме:
Есть 2 курсора, Первый описывает набор таблиц, 2-й связи внутри них.
Удаляю инфу об одной из таблиц:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
*Текущая область  curs1
_tablname=pole1
Sele curs2
delete for pole1=_tablname or pole2=_tablname
Sele Curs1
delete
Thisform.tree.refresh



Обновление дерева:
Select curs1.pole1, curs2.pole1 parent from curs1 left join curs2 on curs1.pole1 = curs2.pole2 into cursor _tree
...

и Вот здесь проблема:

Select выбирает и удаленную таблицу. Однако, если перед ним остановиться и посмотреть curs1(browse), то выборка правильная.
Я конечно обойду проблему очередной раз, но хотелось бы как-то системно ее решить.
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39098637
Fffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
Set deleted on/off
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39098638
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamis,
delete не удаляет, а помечает на удаление, т.е.
Код: sql
1.
2.
Sele curs2
delete for pole1=_tablname or pole2=_tablname


пометит записи на удаление, но из курсора их не удалит.

точно также
Код: sql
1.
2.
Sele Curs1
delete


ничего не удалит, а лишь пометит на удаление.

Ну а
Код: sql
1.
Select curs1.pole1, curs2.pole1 parent from curs1 left join curs2 on curs1.pole1 = curs2.pole2 into cursor _tree


просто выберет все записи по условию, несмотря на то, что они помечены были в курсоре на удаление.
Наверное надо PACK использовать. Как то так )))
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39098640
Ffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
descent52Наверное надо PACK использовать. Как то так )))
Не надо.
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39098656
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamisОднако, если перед ним остановиться и посмотреть curs1(browse), то выборка правильная.
Похоже буферизация используется - добавь TableUpdate().
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39098670
Dima TglamisОднако, если перед ним остановиться и посмотреть curs1(browse), то выборка правильная.
Похоже буферизация используется - добавь TableUpdate().Или with (buffering = .t.)
...
Рейтинг: 0 / 0
Select не видит изменений в курсорах
    #39099129
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все проще, запись действительно только помечена, delete включено проблема в том, что на момент выполнения select текущая запись - удаленная. решение go top или skip и тд. Хотя я всегда считал, что select создает свою выборку, не зависимую от текущего положения указателя записи.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Select не видит изменений в курсорах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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