से ऑर्डर "ऑर्डर" द्वारा एसक्यूएल इंजेक्शन को रोकें कुछ डेटा प्राप्त करने के लिए मैं एक एसक्यूएल क्वेरी बना रहा हूं :)
बेशक कुछ फ़िल्टरिंग और ऑर्डरिंग पार्ट्स हैं।भाग
परिणाम प्राप्त करने के लिए मैं "नामांकित पैरामीटर जेडीबीसी टेम्पलेट" का उपयोग करता हूं और जब मुझे "कहां" भाग में कुछ जोड़ने की आवश्यकता होती है, तो मैं इंजेक्शन को रोकने के लिए पैरामीटर मानचित्र का उपयोग करता हूं।
लेकिन यह "ऑर्डर बाय" भाग से अलग है, क्योंकि कोई स्वचालित भाग नहीं है (और यह एसक्यूएल का हिस्सा है)। यह आदेश भाग कभी-कभी उपयोगकर्ता (सीधे) से डेटा से भरा होता है, कभी-कभी अंदरूनी कोड से कुछ अतिरिक्त प्रकार के पैरामीटर डालते हैं। एक समस्या है: कभी-कभी इस प्रकार के फ़ील्ड में केवल कॉलम नाम नहीं होता है, लेकिन एक एसक्यूएल स्टेटमेंट होता है।
अब सॉर्टिंग के लिए प्रत्येक पैरामीटर कुछ वर्णों (जैसे ') को खाली स्ट्रिंग में बदलकर मैन्युअल रूप से बच निकला है, लेकिन हमारे नियम के लिए सेट किए गए कुछ पैरामीटर इस नियम को पारित करने के लिए थोड़ा जटिल हैं।
क्वेरी के भाग में एसक्यूएल इंजेक्शन को रोकने के लिए सबसे अच्छा तरीका क्या है, जब आप jdbc टेम्पलेट का उपयोग करते हैं?
देखभाल के लिए +1 :) – RedFilter
'तैयार किए गए स्टेटमेंट' का उपयोग करना संभव है? – Romain
मुझे jdbc के बारे में पता नहीं है लेकिन ओरेकल में 'ऑर्डर बाय' में बाइंड वैरिएबल का उपयोग करना संभव है। – Ben