Здравствуйте хабражители…
Есть код…
paste2.org/p/2000519
И ситуацию которую он провоцирует я понять не могу потом спрашиваю у вас…
Если в базе тип будет равен 1 то сработает первый кейс и запись в итоге удалиться вот этим кодом:
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_EXTERNAL_MAIL);
stmt->setUInt32(0, id);
trans->Append(stmt);
Если сработает case 2 то запись удаляется только при определенном условии.
Если условие не сработало, запись не удалиться и при срабатывании:
} while (result->NextRow());
Оно почему то вернет эту же не удаленную запись и получаем в итоге замкнутую цикличность до тех пор пока для этой строки не сработает условие — а нужно что бы строчка пропускалась и обрабатывалась уже следующая строка…
Функция NextRow() выглядит так:
bool PreparedResultSet::NextRow()
{
/// Only updates the m_rowPosition so upper level code knows in which element
/// of the rows vector to look
if (++m_rowPosition >= m_rowCount)
return false;
return true;
}
Подскажите пожалуйста что я делаю не так ибо в C++ дерево… Не будь у меня проблем с англоязычными форумами, я бы к вам не обращался — но и тут я тоже бревно…
спасибо всем кто сможет уделить время