Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глюк. MoveNext() вываливается в ошибку. / 5 сообщений из 5, страница 1 из 1
26.10.2007, 08:15:33
    #34896238
ныш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк. MoveNext() вываливается в ошибку.
VC6++ (НЕ Builder)
Конструкция такая:

if rs->MoveFirst();
for(...) //обработка некого количества записей

if (!rs->ADOEOF) //if остались "лишние" записи, убиваем их
while(!rs->ADOEOF)
{
rs->Delete(adAffectCurrent);
rs->MoveNext(); //------> вываливается здесь
}

В строке помеченой ------> вываливается на этапе, когда только что была удалена последняя запись. Но ведь по логике должно было сдвинуться на следующую и по условию цикла просто выйти из него.
Я туплю или это глюк?
...
Рейтинг: 0 / 0
26.10.2007, 08:17:32
    #34896241
ныш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк. MoveNext() вываливается в ошибку.
Строку: if rs->MoveFirst();
читать конечно же, как: rs->MoveFirst();
...
Рейтинг: 0 / 0
26.10.2007, 08:29:32
    #34896246
Cerebrum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк. MoveNext() вываливается в ошибку.
нышVC6++ (НЕ Builder)
Конструкция такая:

if rs->MoveFirst();
for(...) //обработка некого количества записей

if (!rs->ADOEOF) //if остались "лишние" записи, убиваем их
while(!rs->ADOEOF)
{
rs->Delete(adAffectCurrent);
rs->MoveNext(); //------> вываливается здесь
}

В строке помеченой ------> вываливается на этапе, когда только что была удалена последняя запись. Но ведь по логике должно было сдвинуться на следующую и по условию цикла просто выйти из него.
Я туплю или это глюк?
могу лишь предположить, что когда удаляешь записи сбивается next и prev позиции, и MoveNext не знает куда ей двигаться
...
Рейтинг: 0 / 0
26.10.2007, 08:57:45
    #34896277
ныш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк. MoveNext() вываливается в ошибку.
Хм, когда удаляются последовательно, вроде на следующий сдвигается вполне правильно. Глючит именно сдвиг после последнего удаленного. Уж извините за тафтологию. Странно как-то.
...
Рейтинг: 0 / 0
28.10.2007, 17:40:53
    #34900018
65432100
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк. MoveNext() вываливается в ошибку.
нышХм, когда удаляются последовательно, вроде на следующий сдвигается вполне правильно. Глючит именно сдвиг после последнего удаленного. Уж извините за тафтологию. Странно как-то.
Стало быть, в этом случае надо у предпоследнего указатель на последующий сделать равным NULL, а то по старому значению прога приходит по адресу, а там уже не понятно что
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глюк. MoveNext() вываливается в ошибку. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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