我有一个不断抛出错误的CAML查询。CAML查询...它有什么问题?
System.Web.Services.dll中发生第一次机会异常'System.Web.Services.Protocols.SoapException' 线程0x1574已退出,代码为0(0x0)。
是的,所以不是很具描述性。我猜测这与我如何使用“Or”元素有关。
这里是我的查询看起来是这样的:
<Where>
<And>
<IsNotNull>
<FieldRef Name='myRefID' />
</IsNotNull>
<And>
<Or>
<In>
<FieldRef Name='myRefID' />
<Values>
<Value Type='Number'>1</Value>
<Value Type='Number'>2</Value>
<Value Type='Number'>3</Value>
<Value Type='Number'>4</Value>
...
<Value Type='Number'>499</Value>
</Values>
</In>
<In>
<FieldRef Name='myRefID' />
<Values>
<Value Type='Number'>500</Value>
<Value Type='Number'>501</Value>
<Value Type='Number'>502</Value>
<Value Type='Number'>503</Value>
...
<Value Type='Number'>999</Value>
</Values>
</In>
<In>
<FieldRef Name='myRefID' />
<Values>
<Value Type='Number'>1000</Value>
<Value Type='Number'>1001</Value>
<Value Type='Number'>1002</Value>
<Value Type='Number'>1003</Value>
...
<Value Type='Number'>1111</Value>
</Values>
</In>
</Or>
</And>
</And>
</Where>
另外需要注意的是,我需要寻找特定的ID,因此这就是为什么我使用这么多的IN子句。这些ID仅用于说明目的。在我的真实案例中,数字不合适。所以我不能使用在开始和结束号码之间搜索的查询。