【问题标题】:Accessing last record in a sharepoint list via CAML query通过 CAML 查询访问共享点列表中的最后一条记录
【发布时间】:2010-02-17 12:46:30
【问题描述】:

我在通过 CAML 查询访问共享点列表中的最后一条记录时遇到了一些问题,任何人都可以帮助我完成这个 regrad;我有一个名为“MainHeads”的示例列表,其中包含诸如 HeadID、Category 和 headName 之类的信息... .

Mehboob 巴基斯坦

【问题讨论】:

    标签: sharepoint caml


    【解决方案1】:
    <View>
    <RowLimit>1</RowLimit>
    <Query>
       <OrderBy>
          <FieldRef Name='Created' Ascending='False' />
       </OrderBy>
    </Query>
    </View>

    【讨论】:

    • 另一种选择可能是 ID 列,它 (AFAIK) 也适用于每个项目。
    【解决方案2】:
    <View> 
    <RowLimit>1</RowLimit> 
    <Query> 
       <OrderBy> 
          <FieldRef Name='ID' Ascending='False' /> 
       </OrderBy> 
    </Query> 
    </View>
    

    【讨论】:

      【解决方案3】:

      在这个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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        相关资源
        最近更新 更多