通过CAML查询访问SharePoint列表中的最后一条记录

问题描述:

我在通过CAML查询访问SharePoint列表中的最后一条记录时存在一些问题,任何人都可以在此regrad中帮助我;我有一个名为“MainHeads”的样本列表,其中包含信息像HeadID,类别和HEADNAME ....通过CAML查询访问SharePoint列表中的最后一条记录

Mehboob 巴基斯坦

<View> 
<RowLimit>1</RowLimit> 
<Query> 
    <OrderBy> 
     <FieldRef Name='Created' Ascending='False' /> 
    </OrderBy> 
</Query> 
</View>
+3

另一种选择可能是ID列,其中每个项目也都有(AFAIK)。 – 2010-02-15 12:59:54

大厦这个answer我给了相关question,我建议以下查询:

SPListItem lastItem; 

try 
{ 
    using (SPSite objSite = new SPSite(sSiteUrl)) 
    { 
     using (SPWeb objWeb = objSite.OpenWeb()) 
     { 
      SPList objList = objWeb.Lists["MainHeads"]; 

      SPQuery objQuery = new SPQuery(); 
      objQuery.Query = "<OrderBy><FieldRef Name='HeadID' Ascending='False' /></OrderBy><RowLimit>1</RowLimit>"; 
      objQuery.Folder = objList.RootFolder; 

      // Execute the query against the list 
      SPListItemCollection colItems = objList.GetItems(objQuery); 

      if (colItems.Count > 0) 
      { 
       lastItem = colItems[0]; 
      } 
     } 
    } 
} 
catch (Exception ex) 
{ 
    ... 
} 

return lastItem; 

这假设您正在执行代码中的CAML。如果不是,请参阅F. Aquinoanswer

<View> 
<RowLimit>1</RowLimit> 
<Query> 
    <OrderBy> 
     <FieldRef Name='ID' Ascending='False' /> 
    </OrderBy> 
</Query> 
</View>