CAML查询抛出错误

时间:2013-08-09 23:53:26

标签: caml

相当新的CAML查询,但尝试根据Status = Completed和日期范围查询列表。

抛出以下错误“意外错误:未正确安装一个或多个字段类型。转到列表设置页面删除这些字段。 Microsoft.SharePoint程序“

Status和Created都是系统列,因此我非常确定我的字段名称是否正确 我已经测试了没有日期范围的查询,它按预期运行,所以我认为我的问题介于两者之间。根据我的阅读,Created希望时间跟随日期。查询如下,任何帮助将不胜感激。

<Where>   
<And>                               
   <And>    
      <Eq><FieldRef Name="Status" />Value Type="Choice">Completed</Value></Eq> 
   </And>          
      <Geq>         
         <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE"    
Type="DateTime">2013-07-02T00:00:01Z</Value>
  </Geq>
       <Leq>              
          <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" 
Type="DateTime">2013-07-02T23:59:59Z</Value>
       </Leq>
</And> 
</Where>

1 个答案:

答案 0 :(得分:1)

您的查询中存在一些基本的语法错误,因此可能会导致此问题。看看这是否有帮助。

  • 您在第一个标记中缺少左角括号。
  • 你的标签太多而且它们不按顺序排列。
  • 我将第一个标记的Type属性更改为Text。

    <Where>   
    <And>    
        <Eq><FieldRef Name="Status" /><Value Type="Text">Completed</Value></Eq> 
        <And>          
            <Geq>         
                <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2013-07-02T00:00:01Z</Value>
            </Geq>
            <Leq>              
                <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2013-07-02T23:59:59Z</Value>
            </Leq>
        </And>
    </And> 
    </Where>