Мялину агромное "спасибо" за то что мы убили полдня времени на разбор полетов...
MAV периодически использует команду SET ROWCOUNT 1 для получения одной строки из селекта
и "иногда" забывает об этом ...
Потом мы выполняем SELECT и он возвращает 1 строку хотя долже дать список...
А когда это в большой хранимке ... в ступор попадаешь...
В общем рулится командой SET ROWCOUNT 0
И судя по всему команду SET ROWCOUNT 0 нужно втыкать чуть ли не в каждую дырку т.к. MAV в любой момент может загадить вашу работу, а искать такого плана ошибку непросто...
P.S. Писал сюда в основном для себя что бы не забыть про еще один подводный камень...
SET ROWCOUNT 0
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: SET ROWCOUNT 0
SET ROWCOUNT я сам никогда не взвожу, это параметр курсора
это уже ODBC драйвер рулит какую команду на сервере выполнять, но могу сказать, что эта команда - настройка запроса и должна всегда, на мой взгляд, взводиться перед запросом к БД.
Код: Выделить всё
SELF.RetCode = SQLSetStmtAttr(SELF.hstmt, SQL_ATTR_MAX_ROWS,SELF.MaxRow,SQL_IS_UINTEGER)