我有一个动态的sql语句,我想要发送到SQL Server。查询的基础位于名为query的变量中:
<cfset query ="select
ParcelID,
LTRIM(IIF(AddNum IS NOT NULL, ' ' + AddNum, '') + IIF(AddDir IS NOT NULL, ' ' + AddDir, '') + ' ' + AddStreet + IIF(AddUnitNum IS NOT NULL, ' ' + AddUnitNum, '') + ' ' + AddCity + ', ' + AddState + ' ' + AddZip + IIF(AddZip4 IS NOT NULL, '-'+ AddZip4, '')) as Address
from PropertyParameters
where AddZip = '#URL.zip#'">
我的问题是你看到quote-space-quote plus字段(即&#39;&#39; + AddNum)的区域,单引号添加更多单引号,并将以下内容发送到sql server:< / p>
select ParcelID,
LTRIM(IIF(AddNum IS NOT NULL, '' '' + AddNum, '''') + IIF(AddDir IS NOT NULL, '' '' + AddDir, '''') + '' '' + AddStreet + IIF(AddUnitNum IS NOT NULL, '' '' + AddUnitNum, '') + '' '' + AddCity + '', '' + AddState + '' '' + AddZip + IIF(AddZip4 IS NOT NULL, ''-''+ AddZip4, '')) as Address
from PropertyParameters
where AddZip = 20001 and Score > 70;
正如您所看到的,引号加倍并在sql server中失败。 我该如何克服这个问题?
感谢。
更新1:我尝试根据coldfusion说明(&#39;&#39;&#34;&#34;&#34;)尝试转义报价,但仍然无法正常工作。感谢
答案 0 :(得分:0)