我是CAML查询的新手,一直使用以下选项。我有一份ABC的名单,大约有20万张唱片。我想根据两个条件检索记录:
- IsDeleted=True(值为yes的yes/no字段(
- ("200"、"201"、"202"(中的标题
updstring "<Value Type='String'>200</Value><Value Type='String'>201</Value><Value Type='String'>202</Value>";
camlQuery2.ViewXml = @"<View Scope='RecursiveAll'>
<Query>
<Where>
<Eq>
<FieldRef Name='IsDeleted' />
<Value Type='Bool'>1</Value>
</Eq>
<And>
<In>
<FieldRef Name='Title' />
<Values>" + updstring + @"</Values>
</In>
</And>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='IsDeleted' />
</ViewFields>
<RowLimit Paged='TRUE'>" + rowLimit2 + "</RowLimit></View>";
知道我哪里错了吗?
谨致问候,Ganesh。
自己找到的。。
这是有效的。实际上,And标签需要放在顶部,并且And的条件,例如Eq&In必须在里面。这与查询编写的常规SQL语法有点不同。谢谢你指出Tyler2p,很抱歉我没有写解释。
<Where>
<And>
<Eq>
<FieldRef Name='IsDeleted' />
<Value Type='Bool'>1</Value>
</Eq>
<In>
<FieldRef Name='Title' />
<Values>" + updstring + @"</Values>
</In>
</And>
</Where>