23.04.2003, 18:31 | #1 |
Moderator
|
next и временная таблица
Здравствуйте!
Класс принимает для последующей обработки курсор, являющийся результатом выборки либо из постоянной, либо из временной таблицы. Перебор записей осуществляется командой next : PHP код:
PHP код:
Нашел похожий пример реализации в системе: класс SalesAutoCreate_TmpSalesLine. Там тоже обрабатывается next`ом временная таблица, и даже в отладчике видно, что после последнего next`а recId становится равным 0, т.е. все отрабатывает корректно. Пытался найти 10 отличий , но все вроде то же самое делаю. В чем закавыка?
__________________
Андрей. |
|
24.04.2003, 01:07 | #2 |
Участник
|
А создается временная таблица каким образом? Может в форме с автодобавлением?Если можно покажи код инициализации и команды select...
|
|
24.04.2003, 11:58 | #3 |
Moderator
|
Что имеется в виду под формой с автодобавлением?
Записи во временную таблицу вставляются через форму, затем из формы по кнопке запускается класс, в который на new() передается эта таблица. Далее она сохраняется внутри класса простой операцией присвоения tmpTable = _tmpTable; , затем делается инициализация выборки: select tmpTable; После этого запускается метод, перебирающий записи командой next. Все. Ура! Не успел отправить ответ, а когда вспомнил - уже разрешилось Дело было как раз в присваивании. Если сделать не "=" , а setTmpData() - все работает правильно. Но интересно то, что в указанном мной выше системном классе тоже использовалась именно операция присваивания! Но там на момент запуска класса уже не было связи таблицы и datasource, т.к. форма к тому моменту закрывалась. А у меня вызов происходит из самой формы -> связь с DS присутствует. Видимо, в этом и было дело.
__________________
Андрей. |
|
24.04.2003, 16:42 | #4 |
Участник
|
Я рад что все разрешилось Про автодобавление я имел в виду AutoCreate=true на дата соурсе, но теперь это не важно
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|