SPQuery, SPSiteDataQuery, SPUser

SPQuery

The SPQuery object allows you to construct queries to return specific items in a list. Use CAML.

you have to come up with a Query string and the language the query is defined in is a SharePoint specific language called CAML

E.g., search our announcements lists for items with a title that contains “Test” :

<OrderBy>
<FieldRef name=”Title”>
</OrderBy>
<Where>
<Contains>
<FieldRef name=”Title”>
<Value Type=”Text”/>Test</Value>
</Contains>
</Where>

The <Contain> can be replaced with:

<EQ>, <NEQ>, <GT>, <GEQ>, <LT>, <IsNull> and <BeginsWith>

Sample code:

SPQuery query = new SPQuery();

Query.Query=”{The above mentioned CAML code}”
SPListItemCollection items = list.Getitems(query);

SPSiteDataQuery

SPSiteDataQuery is like a powered up version of SPQuery. It can execute across multiple lists.

SPQuery can only execute in one particular list.

Sample code:

SPSiteDataQuery query = new SPSiteDataQuery();

query.Lists = “<Lists BaseType=’0′>”;

query.Query ==”{The above mentioned CAML code}”
query.Webs=”<Webs Scope=’SiteCollection’/>”;

query.ViewFields=”<FieldRef Name=”Title”/>;

query.RowLimit=10;

using (SPWeb web=SPContext.Current.Web) {

System.Data.DataTable table=web.getSiteData(query);
//… other things
}

SPUser

SPUser.UserToken and SPUser.Sid not availble in sanbox solution.

public override void ItemUpdating(SPItemEventProperties properties) {
SPWeb = properties.Web;

SPUser user=web.AllUsers[@”DOMAIN\ecrater”];
user.email=”xxxxxxx”;
user.Notes = “CCCCCC”;


User.Update();

Base.ItemUpdating(properties);
}

 

Advertisements
Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: