2012-06-27 10 views
14

हाय मेरे पास मेरे डेस्कटॉप ऐप के लिए पूछताछ करने के लिए एक शेयरपॉइंट सूची है और मैं केवल सक्रिय सदस्यों को पुनर्प्राप्त करना चाहता हूं, लेकिन जब मैंने पूछताछ की तो मुझे केवल उन उपयोगकर्ताओं को मिला जो सक्रिय नहीं हैं। मेरे सीएएमएल क्वेरी में क्या गलत है?बूलियन कॉलम के लिए सीएएमएल क्वेरी काम नहीं कर रही है

camlQuery.ViewXml = "<<"View">><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> " + true + "</Value></Eq></Where></Query></View>""; 

मैं भी

camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query></View>"; 

और

camlQuery.ViewXml = "<Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query>"; 

कृपया मदद के रूप में मैं CAML के लिए नया हूँ निम्नलिखित की कोशिश की।

+1

Google में खोजने का प्रयास करें, शेयरपॉइंट में कैमल क्वेरी के बहुत सारे नमूने हैं। जो चीजें आपने लिखी हैं वे कैमल क्वेरी – Alexander

+0

की तरह नहीं दिखती हैं, मुझे कुछ कारण नहीं है, मुझे यकीन है कि शेयरपॉइंट में एक बग है, क्योंकि मेरे पास दो बूलियन कॉलम एक ही तरीके से कॉन्फ़िगर किए गए हैं (कॉलम "रिटर्न" कॉलम "चेक किया गया") और यदि मैं "रिटर्न" कॉलम द्वारा spList से पूछताछ करने के लिए सीएएमएल कोड का उपयोग करता हूं, तो यह काम करता है, लेकिन जब मैं इस सीएएमएल कोड को अन्य कॉलम "चेक किए गए" द्वारा क्वेरी करने के लिए बदलता हूं, तो केवल विशेषता नाम बदल रहा है कॉलम "चेक किया गया", जहां हम केवल आंतरिक फ़ील्ड नाम सेट करते हैं, कोड मुझे परिणाम के रूप में कोई spListitem नहीं लाता है, लेकिन इसे कुछ आइटम वापस करना चाहिए। बहुत अजीब कॉलम "ए" (रिटर्न) <फील्डरफ नाम = 'रिटर्न' /><वैल्यू टाइप –

उत्तर

35

खुद को बचाने के लिए कुछ दु: ख और मदद करने के लिए एक उपकरण का उपयोग

<Query><Where> 
    <Eq><FieldRef Name="Active" /><Value Type="Boolean">1</Value></Eq> 
</Where></Query> 
+2

कुछ बुलीयन कॉलम के लिए आपको अजीब रूप से पर्याप्त है, आपको "सत्य" के रूप में मूल्य रखना होगा और "1" नहीं - मैं अभी तक हूं यह पता लगाने के लिए कि – Andrey

+1

यदि आप टाइप = "इंटीजर" रखते हैं, तो आपको हमेशा 1 और 0 –

0

CAML प्रश्नों का निर्माण इस तरह के U2U's Caml Query Builder.

के रूप में आप क्वेरी में 1 और 0 (सच और झूठा नहीं) का उपयोग करने की आवश्यकता है, इसलिए मान प्रकार Bool का उपयोग करें और यह "सही", "सही" या "TRUE"

+2

का उपयोग करना होगा, मुझे नहीं लगता कि ऐसा प्रकार मौजूद है, क्या आप इसे दिखाए दस्तावेज़ों के लिंक पोस्ट कर सकते हैं? –

+0

बस इस विधि का उपयोग कैमल क्वेरी बिल्डर के माध्यम से करें और यह ठीक काम करता है! –

1

यह मैं

camlQuery.ViewXml = "<View>" + "<Query>" + "<Where>" + "<Eq>" + 
"<FieldRef Name='Active'/>" + " <Value Type='Boolean'>" + "1" + "</Value>" + 
"</Eq>" + "</Where>" + "</Query>" + "</View>"; 
लिए काम करता है के साथ काम करता
+0

आप इस तरह की क्वेरी स्ट्रिंग को क्यों जोड़ते हैं? – Patric

+0

@ पेट्रीक मुझे इस तरह से करने के लिए सिखाया गया था। – flm

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