读书人

CAML查询结果总是捞出全部,该怎么解决

发布时间: 2012-02-06 15:52:44 作者: rapoo

CAML查询结果总是捞出全部
CAML查询总是出不来正确结果

想要查询讨论区里主旨为aaa的项目,编写了以下的代码,却总是捞出全部的资料,请问各位先进是否CAML描述有误呢?还是有地方没注意到。
Thanks

代码如下:

System.Text.StringBuilder oSb = new System.Text.StringBuilder();

oSb.Append(" <Query>");
oSb.Append(" <Where>");
oSb.Append(" <Eq>");
oSb.Append(" <FieldRef Name=\"Title\" />");
oSb.Append(" <Value Type=\"Text\">aaa</Value>");
oSb.Append(" </Eq>");
oSb.Append(" </Where>");
oSb.Append(" </Query>");

SPSite site = new SPSite("http://test/sites/TestNewSite");
SPWeb testWeb = site.AllWebs[0];
SPList testList = testWeb.Lists[0];

SPQuery query = new SPQuery();
query.Query = oSb.ToString();

SPListItemCollection filteredItems = testList.GetItems(query);

foreach (SPListItem i in filteredItems)
{
listBox1.Items.Add(i.Title);
}

[解决办法]
这样

C# code
System.Text.StringBuilder oSb = new System.Text.StringBuilder();             //oSb.Append("    <Query>");             oSb.Append("        <Where>");             oSb.Append("              <Eq>");             oSb.Append("                  <FieldRef Name=\"Title\" />");             oSb.Append("                  <Value Type=\"Text\">aaa </Value>");             oSb.Append("              </Eq>");             oSb.Append("        </Where>");             //oSb.Append("    </Query>");             SPSite site = new SPSite("http://test/sites/TestNewSite");             SPWeb testWeb = site.AllWebs[0];             SPList testList = testWeb.Lists[0];             SPQuery query = new SPQuery();             query.Query = oSb.ToString();             SPListItemCollection filteredItems = testList.GetItems(query);             foreach (SPListItem i in filteredItems)             {                 listBox1.Items.Add(i.Title);             } 

读书人网 >行业软件

热点推荐