以下 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>";
上述查询不返回任何内容,但我的列表中有上述组合的值。
如果我稍微修改查询,如下所示,不使用 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 Query builder 因为我无法在我的 DEV 盒子上安装任何东西。而且我还没有在我的本地安装 SP WSS :))