में एसक्यूएल स्वच्छता को ओवरराइड करने के लिए मेरे पास पुराने कोल्डफ्यूजन कोड का एक गुच्छा साफ करने का दुर्भाग्यपूर्ण कार्य है। प्रश्नोत्तरी पूरी जगह पर हैं, मैं उन्हें आसान रखरखाव के लिए सभी सामान्य सीएफसी में ले जाने पर काम कर रहा हूं।कोल्डफ्यूजन
मैं एक समस्या में भाग रहा हूं क्योंकि cfquery
स्वचालित रूप से सिंगल कोट्स को डबल-सिंगल-कोट्स में परिवर्तित कर रहा है। मैं उस व्यवहार को कैसे ओवरराइड कर सकता हूं?
अधिक विशिष्ट जानकारी नीचे दी गई है।
तो यहाँ
क्वेरी मैं के साथ शुरू किया है:
<cfquery name="getObjectInfo" datasource="#BaseDS#">
SELECT groupName AS lastname, '[Group]' AS firstname
FROM groups
WHERE groups.group_id = #objectreference_id#
</cfquery>
यहाँ अजीब बात यह है कि एक शाब्दिक क्योंकि जिस तरह से हम चाहते हैं कि उसे दिखाया गया है (फिर से "चयनित" किया जा रहा है, मैं नहीं था यह मत लिखो, मैं बस इसे थोड़ा साफ करने की कोशिश कर रहा हूं)।
<cffunction name="fSelGroup" access="public" returntype="query"
hint="Returns query selecting given group.">
<cfargument name="intGroupID" type="numeric" required="true"
hint="ID of group to be returned." />
<cfargument name="strSelectAttributes" type="string" required="false"
hint="Attributes to be selected in query"
default="*" />
<cfquery name="getObjectInfo" datasource="#Application.DataSource#">
SELECT #Arguments.strSelectAttributes#
FROM Groups
WHERE Group_ID = #Arguments.intGroupID#
</cfquery>
<cfreturn getObjectInfo />
</cffunction>
यहाँ है समस्या:: तो आम समारोह में, वहाँ का चयन खंड के लिए एक वैकल्पिक पैरामीटर है जब मैं strSelectAttributes पैरामीटर के लिए "GroupName AS LastName, '[Group]' AS FirstName"
में पारित, क्वेरी डेटाबेस के लिए भेजा जाता है जो:
SELECT GroupName AS LastName, ''[Group]'' AS FirstName
FROM Groups
WHERE Group_ID = 4
आप देखते हैं, मेरे उद्धरणों को एक अवैध क्वेरी में "sanitized" मिला।
http: // stackoverflow भी देखें।कॉम/प्रश्न/266586/ठंडाफ्यूजन-जोड़-अतिरिक्त-उद्धरण-निर्माण-डेटाबेस-क्वेरी-इन-स्ट्रिंग्स – ale