help with TSQL IN statement with int -


मैं एक संग्रहीत proc में

  @dealerids nvarchar में निम्न चयन कथन बनाने का प्रयास कर रहा हूं (256) चयन करें ICOWERE से कहाँ (nvarchar (20), I.DealerID) में (@dealerids)  

I.DealerID तालिका में एक INT है। और डीलर आईडी के पैरामीटर को प्रारूपित किया जाएगा जैसे कि (8820, 88 9 1, 8834)

जब मैं इसे मापदंडों से चलाता हूं, तो मुझे कोई पंक्तियां वापस नहीं मिलतीं I मुझे पता है कि इन डीलरआईडी को पंक्तियों को प्रदान करना चाहिए जैसे कि मैं व्यक्तिगत रूप से यह करता हूं कि मैं क्या उम्मीद करता हूं। मुझे लगता है कि मैं

  गलत तरीके से (nvarchar (20), I.DealerID) (@dealerids) में  

कन्वर्ट कर रहा हूँ क्या कोई ये बता सकता है कि मैं यहाँ क्या गलत कर रहा हूं?

आप @dealerids जैसे, आपको डायनामिक एसक्यूएल का उपयोग करना होगा, जैसे:

  @ डेलरिड्स नवरर्चार (256) एक्सईसी ('सेक्लक्ट' इनवॉइसस से मैं कहां बदलता है (नवरेचार (20), डाउन-आइड यह है कि आप अपने आप को एसक्यूएल इंजेक्शन के हमलों तक खोलते हैं जब तक कि आप विशेष रूप से  @dealerid में जाने वाले डेटा को नियंत्रित नहीं करते हैं IDealerID में IDealerID (I + DealerID + ')'  

s।

SQL सर्वर के आपके संस्करण के आधार पर इसे प्रबंधित करने के बेहतर तरीके हैं, जो कि दस्तावेज हैं।


Comments