Оператор Update

MapInfo, MapBasic
Ответить
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

Оператор Update

Сообщение agentbond007 »

Здравствуйте!
Подскажите пожалуйста оператор Update после выполнения переводит курсор таблицы на следующую запись?
SergS
Активный участник
Сообщения: 120
Зарегистрирован: 14 апр 2011, 13:24
Репутация: 5
Откуда: Екатеринбург

Re: Оператор Update

Сообщение SergS »

если коротко, то - нет, не переводит.
если более развернуто....
update вообще не имеет понятия о курсоре - текущей записи. обновление производится всего, что ему подсунуть. если надо обновить конкретную текущую запись, приходится предварительно выяснять номер этой записи и использовать предложение "where rec =..."
более того...
в ранних версиях (счас уж не знаю, код по обходу неприятной ситуации вставляется всегда на автомате, может уже и не требуется) применение update сбивало текущую запись, и последующий fetch next приводило в произвольное место. поэтому делалось ( и по привычке делается) внутри цикла так:

Код: Выделить всё

irow = ttable.rowid
update ttable set .... where rec = irow
fetch rec = irow from ttable
.....
fetch next from ttable
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

Re: Оператор Update

Сообщение agentbond007 »

Ясно, то то я делал апдейт атрибутивки а потом стиля геообъекта у меня текущий геообъект исчезал и присваивался RowID+1 к редактируемой атрибутивке. После добавления fetch между Update`ами все нормуль. :D
Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость