2012-08-03 18 views
5

रूबी में यह क्यू की तरह, स्ट्रिंग में दोहरे उद्धरण से बचने के लिए की आवश्यकता के बिना तार का उपयोग करना संभव है/"डबल कोट्स"/सी # तारों में डबल कोट भागने से कैसे बचें?

साथ कुछ मेरी स्ट्रिंग क्या यह संभव है सी # एक आवश्यकता के बिना एक स्ट्रिंग का उपयोग करने के साथ डबल कोट्स से बचने के लिए? एक अच्छे कारण के लिए मुझे इनलाइन एसक्यूएल लिखना होगा और जब भी मैं डीबी कंसोल से सी # कोड में एसक्यूएल क्वेरी डालता हूं तो डबल कोट्स से बचने के लिए यह बहुत परेशान है।

मैं जानता हूँ कि यह उपयोग करने के लिए संभव है \ "या" "एक दोहरे उद्धरण के रूप में। लेकिन यह दोहरे उद्धरण चिह्नों से बचने के लिए की जरूरत से बचने के लिए संभव है?

+0

से बस हर जगह कष्टप्रद डबल कोट्स नहीं देखेंगे और यहां तक ​​कि आपकी क्वेरी सुरक्षित होगी। नहीं। आप @ प्रतीक है "+ [कोड स्पष्टता के लिए नई लाइन]" रोकने के लिए @ प्रतीक का उपयोग कर सकते हैं "लंबी स्ट्रिंग जिसे आप एक पंक्ति पर नहीं चाहते हैं"; लेकिन भागने से बचने का कोई रास्ता नहीं है। –

उत्तर

4

नहीं, यह संभव नहीं सी # में है। आप लिख सकते हैं एक अलग फ़ाइल में और फिर अपने एसक्यूएल वहाँ से इसे पढ़ा

9

नहीं है, मूल रूप से आप "foo \" bar" या @"foo "" bar", जो दोनों के आपने उल्लेख किया है का विकल्प है हालांकि, स्पष्ट रूप से मैं शायद ही कभी एसक्यूएल में " आवश्यक लगता है;।।। आप शाब्दिक तारों के लिए ' और ऑब्जेक्ट/कॉलम नामों के लिए [/] - बेशक, यह शायद इसलिए हो सकता है क्योंकि मैं सामान्य ly SQL सर्वर का उपयोग करें।

का एकमात्र विकल्प नहीं है, एसक्यूएल को बाहरी संसाधन फ़ाइल में ले जाने के लिए कोई भी भागना शामिल है, शायद एक टेक्स्ट फ़ाइल। हालांकि, यह शायद "" का उपयोग करने से अधिक दर्दनाक है।

+1

मैं PostgreSQL का उपयोग करता हूं, जहां CamelCase नाम डबल कोट्स से बच निकले जाना चाहिए। – Zelid

+0

@ ज़ेलिद हां, मुझे संदेह है कि आप मेरे लिए एक अलग डीबी इंजन का उपयोग कर रहे हैं (मुझे शायद ही कभी यह समस्या दिखाई दे)। क्षमा करें, आपको लगता है कि कौन सा विकल्प कम से कम बदतर है, मुझे लगता है। –

0
एक अच्छा कारण मैं इनलाइन एसक्यूएल लिखने के लिए की जरूरत है और यह भागने दोहरे उद्धरण चिह्नों के लिए हर बार जब मैं डीबी कंसोल से सी # कोड के लिए SQL क्वेरी डाल बहुत कष्टप्रद है के लिए

यदि आप इनलाइन एसक्यूएल क्वेरी लिख रहे हैं तो आपको उद्धरणों के बारे में चिंता करने की आवश्यकता नहीं है यदि आपने एसक्यूएल पैरामीटर के माध्यम से मूल्यों को पारित किया है। इस तरह आप एसक्यूएल इंजेक्शन

+0

मैं हल्के वजन वाले डीबी एक्सेस लाइब्रेरी के रूप में उपयोग करता हूं। यह हमेशा से बचने के पैरा का उपयोग करता है। जब मैं कैमेलकेस नामों का उपयोग करता हूं तो मुझे PostgreSQL में कॉलम और तालिका नामों में डबल कोट्स का उपयोग करने की आवश्यकता होती है। – Zelid

+0

@ ज़ेलिद ओह उस मामले में मैं मानता हूं कि यह हर जगह डबल कोट्स देखकर परेशान होगा और मुझे नहीं लगता कि आपके पास दूसरा विकल्प है – HatSoft

संबंधित मुद्दे