MOSS 关于SPQuery 和SPSiteDataQuery的区别好用法!

MOSS 关于SPQuery SPSiteDataQuery的区别好用法!

              
     下面的代码是给在做MOSS开发的同行们的一些对象模型的学习,和自己的看法

    MOSS 关于SPQuery 的用法,是关于列表的查询范围比较的小。。 
      SPWeb web = (new SPSite("http://moss/sites/hello")).OpenWeb();
                SPList list = web.Lists["test"];
                SPQuery query = new SPQuery();
                query.Query = "<Where><Contains><FieldRef Name='Title'/><Value Type='Text'>4</Value></Contains></Where>";
                SPListItemCollection items = list.GetItems(query);
                foreach(SPListItem item in items)
                    Console.WriteLine(item.DisplayName);
    SPSiteDataQuery的是查询整个Site的范围比SPQuery大,我就不在这里罗嗦拉,大家看拉代码测试一下,就很明白拉 
                SPWeb web = (new SPSite("
http://moss/sites/hello")).OpenWeb();
                SPSiteDataQuery query = new SPSiteDataQuery();
                query.Query = "<Where><Contains><FieldRef Name='Title'/><Value Type='Text'>4</Value></Contains></Where>";
                query.Lists = "<Lists BaseType='0' />";
                query.Webs = "<Webs Scope='Recursive' />";
                query.ViewFields = "<FieldRef Name='Title' /><ProjectProperty Name='Title' /><ListProperty Name='Title' />";
                DataTable dt = web.GetSiteData(query);
                Console.WriteLine(dt.Rows.Count);

 

 

 

/测试代码//

protected void btnSearch_Click(object sender, EventArgs e)
{
try
{

SPSecurity.RunWithElevatedPrivileges(delegate()
{
string query = ""+this.texName.Text+"";

SPSite site = new SPSite(@"
http://wh/sites/oa");
site.AllowUnsafeUpdates = true;
SPWeb web = site.OpenWeb();
web.AllowUnsafeUpdates = true;
SPList list = web.Lists["
文件查询"];
SPViewCollection views = list.Views;

StringCollection viewFields = new StringCollection();

for (int i = 0; i < list.DefaultView.ViewFields.Count; i++)
{
viewFields.Add(list.DefaultView.ViewFields[i]);

}

SPView view = null;
try
{
view = views["
查询结果
"];

}
catch
{
}
if (view == null)
{
view = views.Add("
查询结果
", viewFields, query, 10, true, false);

}
else
{
view.Query = query;
}
view.Update();

string url = list.DefaultViewUrl.Replace(list.DefaultViewUrl, view.Url);
this.Response.Redirect(url);
web.AllowUnsafeUpdates = false;
site.AllowUnsafeUpdates = false;


});
}
catch(Exception ex)
{
this.Response.Write(ex.Message);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值