12.01.2007, 14:58 | #1 |
MCTS
|
Цикл, ttsabort и continue
Всем привет!
Столкнулся с такой проблемой (может она обсуждалась уже, но я что то не нашел). Выбираю в цикле while select записи таблицы ProjTable. Там же в цикле после проверки некоторого условия откатываю транзакцию и хочу перейти на следующую строку ProjTable в цикле. Но после вызова continue следующая строка не выбирается. То есть цикл как и положено проходит снова, но курсор ProjTable указывает на ту же самую запись, что и при первом проходе. Для наглядности написал джоб который описывает данную ситуацию. Причем если цикл дополнить условием по projId (while select projT where projT.projId == "ИД_Проекта"), то continue работает нормально. X++: static void Test_TTS_Continue(Args _args) { ProjTable projT; int i = 0; ; ttsbegin; while select projT // while select projT where projT.projId == "ИД_Проекта" { info(int2str(i) + ', projId = ' + projT.ProjId); i++; if (i>100) return; ttsabort; ttsbegin; continue; } ttscommit; } Заранее благодарен. Последний раз редактировалось PavelX; 12.01.2007 в 15:01. |
|