已答复 SPQuery怎么根据时间查询和分组

  • 2012年4月18日 1:25
     
     

    如题

    1. 在一个列表库中,我想根据项的修改时间的天查询,怎么让查询语句以 天 比对?

    2. 我想以月分查询,例出此列表每一月的项的数量,我觉得是用分组,但计算数量的语句怎么写?

    谢谢!

全部回复

  • 2012年4月20日 3:20
    版主
     
     已答复

    Hi 流行追梦,

    SPQuery中有一个Query 属性, 你可以赋一个字符串给他。形式如下

    <Where>
          <Lt>
             <FieldRef Name='Modified' />
             <Value Type='DateTime'>2012-04-27</Value>
          </Lt>
       </Where>

    意思是将2012年4月27日之前的数据全部查询出来。在给Query赋字符串的时候不要添加<Query></Query>标签。

    SharePoint Caml 语句中并不能想SQL语句那样自由做一些事情,不过你可以将数据读取到dataTabel中,用C#进行分组求和,

    DataTable dt = list.GetItems(query).GetDataTable();

    关于caml 语句有一个小工具,你可以下载下来,使用一下,很方便。

    http://www.u2u.be/Tools/wincamlquerybuilder/CamlQueryBuilder.aspx

    Thanks,

    Jack

    DataTable dt = list.GetItems(query).GetDataTable();

  • 2012年4月21日 9:01
     
     

    谢谢,我已经改成时间段查询了,如参数为2011-3月,我用程序生成2011-3-1,2011-3-30来查询,然后用程序分组计算。