powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление
12 сообщений из 12, страница 1 из 1
Удаление
    #33060464
Есть форма с представлением в private data session. Я выполняю команду DELETE, затем TABLEUPDATE и REQUERY, но запись удаляется только после закрытия и повтрног открытия формы. Что я сделал не так?
...
Рейтинг: 0 / 0
Удаление
    #33060527
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно дернуть курсор перед Requery. Например, так:

Код: plaintext
1.
2.
3.
skip
if eof()
  go bottom
endif
...
Рейтинг: 0 / 0
Удаление
    #33060528
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. перед refresh
...
Рейтинг: 0 / 0
Удаление
    #33061123
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Антон!

ПОЛНОСТЬЮ код и настройки приведи - режим буферизации и SET DELETED в частности. Ибо всё работает как и должно...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Удаление
    #33062701
2 Igor Korolyov:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SELECT v_plots
t=RECNO()
*ri=plot_id
*SELECT plots
*LOCATE FOR plot_id=ri
lcMessage = C_DELETE1_LOC + ALLTRIM(v_plots.name) + C_DELETE2_LOC	

IF MESSAGEBOX(lcMessage,C_MSGBOX1,"ÓÌÑ") = MSGBOX_YES
*	SELECT plots
	DELETE
	TABLEUPDATE( 1 )
*	SELECT v_plots

	REQUERY()

	IF !EOF()
*		t=t+ 1 
		SKIP  1 
	else
*		t=t- 1 
		SKIP - 1 
	ENDIF
ENDIF


SET DELETED ON

optimistic row bufferization
...
Рейтинг: 0 / 0
Удаление
    #33062713
2 Urri:

Попробовал "дергать" перед Requery: не работает :(
...
Рейтинг: 0 / 0
Удаление
    #33062728
Если убрать комментарии то:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT v_plots
lcMessage = C_DELETE1_LOC + ALLTRIM(v_plots.name) + C_DELETE2_LOC	

IF MESSAGEBOX(lcMessage,C_MSGBOX1,"ÓÌÑ") = MSGBOX_YES
	DELETE
	TABLEUPDATE( 1 )

	REQUERY()

	IF !EOF()
		SKIP  1 
	else
		SKIP - 1 
	ENDIF
ENDIF

где v_plots - мой view.
...
Рейтинг: 0 / 0
Удаление
    #33062798
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для справки.

Процесс чтения данных :

Исходная таблица - View

Процесс записи внесенных изменений

Буфер View - View - буфер исходной таблицы - исходная таблица

Сброс буфера при строковой буферизации происходит :

При переходе на другую запись

При закрытии таблицы

При изменении режима буферизации на табличный

По команде TableUpdate()

Сброс буфера при табличной буферизации происходит


Только по команде TableUpdate() и никак иначе

======================================
Похоже, у тебя установлена строковая буферизация на исходную таблицу. Не пробовал такое:

Код: plaintext
1.
2.
3.
4.
5.
* Сброс буфера View
=TableUpdate( 1 ,.T.,"v_plots")
* Сброс буфера исходной таблицы
=TableUpdate(.T.,.T.,"plots")
* Перезапрос View
=Requery("v_plots")
...
Рейтинг: 0 / 0
Удаление
    #33062954
Спасибо! Заработало!

Я пробовал TABLEUPDATE и для VIEW и для TABLE, но одновременно - нет.
...
Рейтинг: 0 / 0
Удаление
    #33065647
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Антон!

Тебе нужно просто убрать буферизацию с исходной таблицы. Поди выставил где-то не подумав CURSORGETPROP("Buffering", 3, 0) а заодно и саму исходную таблицу руками открываешь где-то. Вот и выходит ерунда...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Удаление
    #33065878
2 Игорь Королёв

Да, но мне нужна буферизация таблицы для сощздания новой записи
...
Рейтинг: 0 / 0
Удаление
    #33068492
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Антон!

Зачем тебе буферизация таблицы, если уже есть буферизация на представлении?
Но если нужно - то делай ВЕЗДЕ TableUpdate() причём в нужном порядке и проверяя результат его работы. И перечитай ещё раз что написал Владимир про систему буферов.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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