2012-07-31 19 views
5

यह सुनिश्चित नहीं है कि यह लिंक में इसे प्राप्त करने का सबसे अच्छा तरीका है या नहीं।लिंक: जांच कर रहा है कि स्ट्रिंग कॉलम का मान है (यानी शून्य या खाली नहीं है)

मैं सीआरएम 2011 में संपर्क रिकॉर्ड चुनने की कोशिश कर रहा हूं जहां EMailAddress1 में एक मान है। निम्नलिखित कहां खंड मैं दोनों की कोशिश की अपवादों के कारण होता है:

Where c.EMailAddress1 > "" 

Where Not String.IsNullOrEmpty(c.EMailAddress1) 

तो मैं इस, जो ठीक से काम करने लगता है की कोशिश कर रहा समाप्त हो गया:

Where Not c.EMailAddress1.Equals(String.Empty) _ 
And Not c.EMailAddress1.Equals(Nothing) 

लेकिन मैं कुछ नहीं कर रहा हूँ अगर यह सबसे कारगर है विधि .. यह बहुत सुरुचिपूर्ण प्रतीत नहीं होता है। क्या स्ट्रिंग कॉलम का मूल्य होने पर जांच करने का एक साफ तरीका है?

+1

जब आप String.IsNullOrEmpty उपयोग करते हैं, अपवाद है कि आप हो रही है क्या है? –

+0

EMailAddress1 किस डेटा प्रकार है? –

+0

@ForteL। अपवाद "अमान्य 'है जहां' स्थिति। एक इकाई सदस्य अमान्य संपत्ति या विधि का आह्वान कर रहा है।"। डेटा प्रकार स्ट्रिंग है। –

उत्तर

4

के रूप में कहा here Linq सीआरएम के लिए वास्तव में सीमित है। यही कारण है कि आप String.IsNullOrEmpty का उपयोग नहीं कर सकते हैं।

हालांकि, अगर आप ऐसा करने के लिए प्रयास करना चाहिए:

Where c.EMailAddress1 IsNot Nothing 

जब एक फ़ील्ड रिक्त है, यह शून्य करने के लिए डेटाबेस (कभी खाली नहीं) में सेट है। यह लाइन तब आपके मामले के लिए पर्याप्त होनी चाहिए।

सादर,

Kévin

+0

लिंक के लिए धन्यवाद। मैं भी "(रिक्त स्ट्रिंग, शून्य नहीं) की जांच करना चाहता हूं, इसलिए स्वयं कुछ भी पर्याप्त नहीं होगा। ऐसा लगता है कि इसे 2 स्थितियों का उपयोग करके किया जाना चाहिए, काफी उचित है। –

+1

असल में, यदि उपयोगकर्ता फ़ील्ड को खाली कर देता है, तो यह शून्य होगा। यदि आप linq का उपयोग कर रिक्त स्ट्रिंग की देखभाल करते हैं तो आपको कभी भी कोई परिणाम नहीं मिलेगा। तो "IsNot कुछ नहीं" पर्याप्त होना चाहिए। –

+0

क्या यह सिर्फ एक लिंक व्यवहार है? कई डेटाबेस डिज़ाइन शून्य कॉलम से बचते हैं। इस मामले में सीआरएम 2011 के बारे में निश्चित नहीं है। लेकिन डीबी में एक कॉलम मानते हुए वरुहर नुलल नहीं है, तो क्या linq फिर शून्य और "खाली (अलग) का इलाज करेगा? –

2

सिर्फ कार्य करें:

Where c.EmailAddress <> "" 
+0

यह अपवाद भी उठाता है: "अमान्य 'जहां' हालत। एक इकाई सदस्य अमान्य संपत्ति या विधि का आह्वान कर रहा है।" –

+0

कहां (फ़ंक्शन (ओं) s.EmailAddress <> "") = काम करता है! शून्य और खाली तार चयनित नहीं हैं। –

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