проблема с ColdFusion cfqueryparam и сложным запросом

#string #coldfusion #cfqueryparam

#строка #coldfusion #cfqueryparam

Вопрос:

У меня есть запрос, в который я вставляю ~ 300 записей, используя один запрос insert. Для каждой записи я должен выполнять замены и операции с данными. Я только что узнал, что должен использовать cfqueryparam сейчас, потому что одна из записей является скоплением и достигает большого размера. Я использовал строку для формирования запроса и размещения строки в теге cfquery. Теперь я не могу этого сделать, потому что вы должны использовать PreserveSingleQuotes, чтобы поместить string var в тег cfquery, и вы не можете использовать PreserveSingleQuotes с cfqueryparam. Итак, мой лучший вариант для выполнения всех операций и зацикливания внутри тега cfquery? Сможет ли он справиться с этим? Или мне придется выполнить 1000 отдельных инструкций insert? Есть ли идея получше? Спасибо.

Комментарии:

1. Можете ли вы показать нам часть кода, о котором идет речь?

Ответ №1:

Если вы выполняете только PreserveSingleQuotes, то приведенный выше ответ работает.

Если вы выполняете сложные манипуляции, то выполняйте свои операции с данными вне cfquery и сохраняйте нужные значения в массиве.

Внутри cfquery выполните цикл по массиву и поместите значения в cfqueryparam.

Ответ №2:

 <cfqueryparam value="#PreserveSingleQuotes(whatever)#" CFSQLType="CF_SQL_CLOB" />
  

Должно работать в CFQUERY.