2012-06-20 54 views
0
query.Query = @"<Where> 
<And> 
<BeginsWith> 
<FieldRef Name='ContentTypeId'/> 
<Value Type='Text'>[LONG GUID]</Value> 
</BeginsWith> 
<And> 
<Geq> 
<FieldRef Name='PublishingStartDate' /> 
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value> 
</Geq> 
<Leq> 
<FieldRef Name='PublishingStartDate' /> 
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value> 
</Leq> 
</And> 
</And> 
</Where> 
<OrderBy> 
<FieldRef Name='PublishingStartDate' Ascending='FALSE' /> 
</OrderBy>"; 

上述查詢試圖使兩個日期之間的某個內容類型的所有項目都返回並且由相同的日期字段排序(降序)。」屬性查詢包含無效值。「 - 我看不到它

編輯:我應該指出,這是一個SPSiteDataQuery

+0

我已經縮小到OrderBy子句 - 任何人都可以看到它的問題嗎? (領域肯定存在)。 –

+1

我看到兩個根元素'Where'和'OrderBy' –

+0

當我將它分配給Query屬性時,我並不認爲這很重要(即,查詢屬性將標籤中的所有字符串都包含在內,以便只有1時間查詢的運行?)我可能是錯的,我是新來的。你有什麼建議? +1。 –

回答

1

我看不出有什麼錯在你的CAML。我注意到的一件事是PublishingStartDate過濾器值的值。 Geq和Leq都具有完全相同的日期時間值。

<Geq> 
<FieldRef Name='PublishingStartDate' /> 
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value> 
</Geq> 
<Leq> 
<FieldRef Name='PublishingStartDate' /> 
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value> 
</Leq> 

你確定兩個過濾器應該使用相同的日期時間嗎?

+0

對於Senthil +1,謝謝。說實話,這是現在的演示數據爲了這個線程的緣故,但如果它不是,你會發現它。 –

0

也許現在回答這個問題爲時已晚,但需要進一步參考:問題在於您不能在查詢或視圖中使用新的符號。 我有同樣的問題 - 如果你把所有的CAML放在一行上,它就會起作用。