powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Update курсора внутри scan
4 сообщений из 4, страница 1 из 1
Update курсора внутри scan
    #37135216
Здравствуйте, подскажите пожалуйста иное решение для подобного кода

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT bufflog
SCAN
lnPosition = RECNO( "bufflog" )		
..................
..................
..................
UPDATE bufflog SET bufflog.fl_del =  1  ; 
	 WHERE casting = nCasting .AND. .........			
GO (lnPosition) IN bufflog
ENDSCAN

Не нравится использование lnPosition = RECNO( "bufflog_ukm" ) и GO (lnPosition) IN bufflog_ukm. Использование второго курсора вместо bufflog_ukm, затруднительно, так как в блоке кода выделенного '...................' необходимо уже знать bufflog_ukm.fl_del равен 1 или нет.
...
Рейтинг: 0 / 0
Update курсора внутри scan
    #37135299
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если правится текущая запись, то так:
Код: plaintext
1.
2.
if bufflog.fl_del !=  1 
   repl in bufflog fl_del with  1 
endif
Если не текущая, то сделай индекс fl_del + те поля которые во WHERE, а проверять через IndexSeek(..., .F., ...)
...
Рейтинг: 0 / 0
Update курсора внутри scan
    #37135317
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ВИноградовЗдравствуйте, подскажите пожалуйста иное решение для подобного кода

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT bufflog
SCAN
lnPosition = RECNO( "bufflog" )		
..................
..................
..................
UPDATE bufflog SET bufflog.fl_del =  1  ; 
	 WHERE casting = nCasting .AND. .........			
GO (lnPosition) IN bufflog
ENDSCAN

Не нравится использование lnPosition = RECNO( "bufflog_ukm" ) и GO (lnPosition) IN bufflog_ukm. Использование второго курсора вместо bufflog_ukm, затруднительно, так как в блоке кода выделенного '...................' необходимо уже знать bufflog_ukm.fl_del равен 1 или нет.

Как изменить значения в одной таблице данными из другой
...
Рейтинг: 0 / 0
Update курсора внутри scan
    #37135361
Dima TЕсли правится текущая запись, то так:
Код: plaintext
1.
2.
if bufflog.fl_del !=  1 
   repl in bufflog fl_del with  1 
endif
Если не текущая, то сделай индекс fl_del + те поля которые во WHERE, а проверять через IndexSeek(..., .F., ...)
Править надо не текущую запись, а набор записей в bufflog, соответствующих выражению where, а IndexSeek вероятно не подойдет потому что он 'searches an indexed table for the FIRST occurrence of a record ' , а мне надо не FIRST, а набор.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Update курсора внутри scan
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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