Показать сообщение отдельно
Старый 25.05.2006, 13:44   #1  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
переполнение в qbds.addRange(_fieldId).value(_str) на OR
Добрый день,

Столкнулся с такой проблемой - при формировании запроса qbds.addRange(_fieldId).value(_str), если передать в _str значение "par1,par2...,parN", система при количестве свыше нескольких сотен параметров парсит запрос некорректно:

Описание ошибки SQL: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '('.
Оператор SQL: SELECT SUM(A.QTY),COUNT(A.JOURNALID),A.ITEMID,A.BOMID,A.UNITID FROM SOMEJOURNAL A WHERE ((A.DATAAREAID=?) AND (((A.BOMID=?) AND ((((((...[очень много скобок]...(((((((((A.JOURNALID=?) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR (A.JOURNALID=?)) OR...

[много-много OR (A.JOURNALID=?))]

... (A.JOURNALID=?))) GROUP BY A.ITEMID,A.BOMID,A.UNITID ORDER BY A.ITEMID DESC,A.BOMID,A.UNITID

Скажите, можно ли победить эту проблему, или ошибка является системной?

Вызов подобного запроса идет из формы по произвольно выбранным пользователем строкам для отображения общей суммы выделенных записей SOMEJOURNAL.

Артем

Последний раз редактировалось Artem Mikhailov; 25.05.2006 в 13:48.