Mag*_*esh 2 sharepoint sharepoint-2007 caml
以下CAML查询对我不起作用..我对sharepoint平台了解不多.我正在使用SP 2007并尝试使用IN运算符进行查找字段.
"<Where>"
                                + "<And>"
                                + "<And>"
                                + "<In>"
                                + "<FieldRef Name='Role'/>"
                                + "<Values>"
                                + "<Value Type = 'Text'>A</Value>"
                                + "<Value Type = 'Text'>B</Value>"
                                + "</Values>"
                                + "</In>"
                                + "<Leq>"
                                + "<FieldRef Name='Enddate'/><Value Type = 'DateTime'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(Dt) + " </Value>"
                                + "</Leq>"
                                + "</And>"
                                + "<Includes>"
                                + "<FieldRef Name='Menu'/><Value Type='Text'>Benefits</Value>"
                                + "</Includes>"
                                + "</And>"
                                + "</Where>";
上面的查询没有返回任何内容,但我的列表中有上述组合的值.
如果我稍微修改查询,如下面的w/o使用IN然后它工作正常.
"<Where>"
                                + "<And>"
                                + "<And>"
                                + "<Eq>"
                                + "<FieldRef Name='Role'/>"
                                //+ "<Values>"
                                + "<Value Type = 'Text'>A</Value>"
                                //+ "<Value Type = 'Text'>B</Value>"
                                //+ "</Values>"
                                + "</Eq>"
                                + "<Leq>"
                                + "<FieldRef Name='Enddate'/><Value Type = 'DateTime'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(Dt) + " </Value>"
                                + "</Leq>"
                                + "</And>"
                                + "<Includes>"
                                + "<FieldRef Name='Menu'/><Value Type='Text'>Benefits</Value>"
                                + "</Includes>"
                                + "</And>"
                                + "</Where>";
(请不要建议我使用CAML查询构建器因为我无法在我的DEV盒上安装任何东西.而且我还没有在我的本地安装SP WSS :))
CAML的IN运算符是在Sharepoint 2010中引入的.您无法在Sharepoint 2007中使用它.要获得相同的结果,您必须将其写为OR.
<Or>
 <Eq>
  <FieldRef Name='Role' />
  <Value Type='Text'>A</Value>
 </Eq>
 <Eq>
  <FieldRef Name='Role' />
  <Value Type='Text'>B</Value>
 </Eq>
</Or>
| 归档时间: | 
 | 
| 查看次数: | 10021 次 | 
| 最近记录: |