CAML Query against content type

Hi
I am trying to query a Document library by content type using CAML:
SPQuery qry = new SPQuery();
string query = <Where><BeginsWith><FieldRef Name='ContentTypeId'/><Value Type='Text'>0x0101003de59dc6676b4ab49e4eb231a59ac906</Value></BeginsWith></Where>;
qry.Query = query;
SPListItemCollection items = docLib.GetItems(qry);
int itemCount = items.Count(); //this is 0
When I run this, no items are returned.  However, when I go into the default view of the document library and filter against the content type, I can see documents are associated to that content type.  Was wondering why I can see the documents
in the filtered default view, but the CAML query does not return any items. 
Any advice or direction to some online resource would be greatly appreciated.
Thank you in advance
Rachael

I tested on a document library with document content type, the following two works:
<Where><BeginsWith><FieldRef Name='ContentTypeId'/><Value Type='Text'>0x0101007764851CB5A6344EB5C9E35447D01F39</Value>
<Where><BeginsWith><FieldRef Name='ContentTypeId'/><Value Type='Text'>0x0101</Value>
0x0101007764851CB5A6344EB5C9E35447D01F39 is the content type id of the list content type and 0x0101 is the content type id of the site content type.
but what follows does not work:
<Where><BeginsWith><FieldRef Name='ContentTypeId'/><Value Type='Text'>0x01010</Value>
By the way, i sugguest using the value type ContentTypeId instead of Text as the CAML generated by LINQ described in: 
http://msdn.microsoft.com/en-us/library/ff798478.aspx

Similar Messages

  • How to use ReportQuery to query against two types of objects?

    I have two loosely related classes Account and AccountState. They are not mapped to each other, have no inheritance or other relationships, but they both have account_id as their key attribute.
    I would like to build a ReportQuery to return selective attributes across Account and AccountState. Is there anyway to do so?
    Thanks in advance.
    George Zou

    George,
    Typically for the scenario you are describing I would recommend adding a 1:1 relationship from Account to state using the shared PK. If this is an option you should note that to keep the ID napped in each as a direct-to-field you will need to set-up the 1:1 using a target foreign key.
    For every 1:1 relationship in your model TopLink automatically creates a 1:1 query key. It is these query keys that you are implicitly using when defining expressions.
    If you really don't want to add the 1:1 mapping to your model then you can alternatively add a 1:1 query key yourself to your Account class that allows for the relationship to be used in an expression and thus a Report Query.
    Example 6-21 in the 9.0.4 application developers guide shows how to create a OneToOneQueryKey programmatically.
    I would guess your descriptor after-load method would look something like:
    public static void addToAccontDescriptor(Descriptor descriptor)
    OneToOneQueryKey ownerQueryKey = new OneToOneQueryKey();
    ownerQueryKey.setName("state");
    ownerQueryKey.setReferenceClass(AccountState.class);
    ExpressionBuilder builder = new ExpressionBuilder();
    ownerQueryKey.setJoinCriteria(builder.getField("ACCOUNT.ID").equal(builder.getParameter("ACCOUNT_STATE.ID")));
    descriptor.addQueryKey(ownerQueryKey);
    Now whether you added the 1:1 mapping or the 1:1 query key the ReportQuery would look the same:
    ReportQuery rq = new ReportQuery(Account.class, new ExpressionBuilder());
    rq.addAttribute("id");
    rq.addAttribute("State Value", rq.getExpressionBuilder().get("state").get("value"));
    I hope this helps,
    Doug

  • How to query for content type in plumtree?

    Hi,
    I am able to browse through the documents in knowledge directory and their properties programmatically using IDK. Here I am getting document property ids and their values, but not property name?
    Can anybody suggest me how to get property names for a given document in knowledge directory?
    Regards,
    G

    RemoteSession.getObjectManager(ObjectClass.Property)
    ObjectManager.querySingleObejct(id)
    theObject.getName()
    is that what you mean?
    Edited by: Joel Collins on Dec 5, 2008 5:57 AM

  • Querying a Flash Lite content type running in the player

    In the current Flash Lite specs, it's not possible to query
    the content
    type that is running from within the Flash Lite player
    (wallpaper,
    screensaver, standalone, etc).
    My questions:
    1.) Is this something that can be (easily) implemented in the
    next rev
    of Flash Lite? I can think of a few use cases where this
    might be
    (potentially) useful.
    Basically, this would allow for a detect mechanism, and thus
    provide a
    way to disable or enable functionality within content based
    on how it is
    being run (based on the content-type detected).
    For example, if FL content is run as a screensaver, no custom
    softkey
    navigation would appear. However, if run as standalone
    content, a custom
    UI might appear ... say giving the user the option to quit,
    get more
    info, etc.
    I am posting here to see if others would be interested in
    such
    functionality.
    2.) From my tests, I don't think the FL content type is
    inserted into
    the Flash Lite SWF header, but can it be? Injecting meta data
    into SWF's
    is tricky business ... does it make sense to add this
    functionality in
    the next rev of Flash Lite? ... again, this info might be
    useful in some
    content use cases, which tie back to #1.
    Thoughts?
    -sj

    I could see some strong potential FL improvements by opening
    this door. This could be very useful in the sense that developers
    could then #include a single .as file that would act as a master
    library regardless of content type.
    Another feature that ties into this that I would love would
    be FL version detection. Granted, this file could sort of be
    created with FS2 command detection. But still, creating one library
    file that covers all user input methods would be very nice.
    To take this a step further, could this also detect what
    edition a phone is? Again, this could be done with via a
    WURFL, but that is a huge
    pain (not to mention memory intensive). It would be sweet if my
    code could (simply) detect a 3rd edition series 60 Nokia and
    automatically build in controls for screen rotation and soft key
    repositioning.
    To sum up, I agree with you Scott. Btw—nice to see you
    in the forums.

  • Content type, list definition and List instance - query

    Dear all,
    I created a list content type, list definition and list instance for a SessionsList.
    I did mistake when created a event receiver file where field name is RegistrationsInfo - did typo error as RegistrationInfo. This field I want to make it as false in the ShowInNewForm= false
    When I deploy it with event receiver file - I am getting stack trace error stating that the RegistrationsInfo field is missing.
    Without event receiver file - when I deploy the solution and checked the field name - it is showing rightly as RegistrationsInfo.
    Content Type:-
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Field ID="{7113CBE5-57E9-4082-A0A2-492B35B69C8D}" Type="Lookup" List="Lists/Courses-List" ShowField="Title" Name="CourseTitle" DisplayName="Courses - Title" Required="FALSE" Group="Training Site Columns"/>
    <Field ID="{920AE6A7-2AAE-4E43-8855-7CBD9978EC5E}" Type="Lookup" List="Lists/SessionTrainer" ShowField="FullName" Name="Trainer" DisplayName="Trainer" Required="FALSE" Group="Training Site Columns"/>
    <Field ID="{F73D9A96-3C86-4E33-96D5-31E30B08BF40}" Type="Choice" Name="TrainingVenue" DisplayName="Training Venue" Required="FALSE" Group="Training Site Columns">
    <CHOICES>
    <CHOICE>Kerala Meeting Room</CHOICE>
    <CHOICE>Orissa Meeting Room</CHOICE>
    <CHOICE>Bihar Meeting Room</CHOICE>
    </CHOICES>
    </Field>
    <Field ID="{B6E9C8F5-F1BD-4D98-BD30-194504859ACC}" Type="Number" Decimals="0" Min="0" Name="RegistrationsInfo" DisplayName="Registrations Info" Required="FALSE" Group="Training Site Columns"/>
    <Field ID="{03281B47-F1D1-477E-9793-3A19118720EE}" Type="Number" Decimals="0" Min="0" Name="TotalSeatsInfo" DisplayName="Total Seats Info" Required="FALSE" Group="Training Site Columns"/>
    <Field ID="{8A900663-6351-445B-ACB3-394F44D45C8D}" Type="Calculated" ResultType="Number" ReadOnly="TRUE" Name="OpenSeatsInfo" DisplayName="Open Seats Info" Required="FALSE" Group="Training Site Columns">
    <Formula>=TotalSeatsInfo-RegistrationsInfo</Formula>
    <FieldRefs>
    <FieldRef Name="TotalSeatsInfo" ID="{03281B47-F1D1-477E-9793-3A19118720EE}"/>
    <FieldRef Name="RegistrationsInfo" ID="{B6E9C8F5-F1BD-4D98-BD30-194504859ACC}"/>
    </FieldRefs>
    </Field>
    <!-- Parent ContentType: Item (0x01) -->
    <ContentType ID="0x0100a9dc01b7e78b45799fe59153d97e2b9e"
    Name="SessionList"
    Group="Session Content Types"
    Description="Session Content Type"
    Inherits="TRUE"
    Version="0">
    <FieldRefs>
    <FieldRef ID="{7113CBE5-57E9-4082-A0A2-492B35B69C8D}" Name="CourseTitle" DisplayName="Courses - Title" Required="TRUE"/>
    <FieldRef ID="{920AE6A7-2AAE-4E43-8855-7CBD9978EC5E}" Name="Trainer" DisplayName="Trainer" Required="FALSE" />
    <FieldRef ID="{F73D9A96-3C86-4E33-96D5-31E30B08BF40}" Name="TrainingVenue" DisplayName="Training Venue" Required="FALSE"/>
    <FieldRef ID="{B6E9C8F5-F1BD-4D98-BD30-194504859ACC}" Name="RegistrationsInfo" DisplayName="Registrations Info" Required="FALSE"/>
    <FieldRef ID="{03281B47-F1D1-477E-9793-3A19118720EE}" Name="TotalSeatsInfo" DisplayName="Total Seats Info" Required="FALSE"/>
    <FieldRef ID="{8A900663-6351-445B-ACB3-394F44D45C8D}" Name="OpenSeatsInfo" DisplayName="Open Seats Info" Required="FALSE"/>
    </FieldRefs>
    </ContentType>
    </Elements>
    Schema:-
    <?xml version="1.0" encoding="utf-8"?>
    <List xmlns:ows="Microsoft SharePoint" Title="SessionList" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/SessionList-LD-SessionList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
    <MetaData>
    <ContentTypes>
    <ContentType ID="0x0100a9dc01b7e78b45799fe59153d97e2b9e" Name="SessionList" Group="Session Content Types" Description="Session Content Type" Inherits="TRUE" Version="0">
    <FieldRefs>
    <FieldRef ID="{7113CBE5-57E9-4082-A0A2-492B35B69C8D}" Name="CourseTitle" DisplayName="Courses - Title" Required="TRUE" />
    <FieldRef ID="{920AE6A7-2AAE-4E43-8855-7CBD9978EC5E}" Name="Trainer" DisplayName="Trainer" Required="FALSE" />
    <FieldRef ID="{F73D9A96-3C86-4E33-96D5-31E30B08BF40}" Name="TrainingVenue" DisplayName="Training Venue" Required="FALSE" />
    <FieldRef ID="{B6E9C8F5-F1BD-4D98-BD30-194504859ACC}" Name="RegistrationsInfo" DisplayName="Registrations Info" Required="FALSE" />
    <FieldRef ID="{03281B47-F1D1-477E-9793-3A19118720EE}" Name="TotalSeatsInfo" DisplayName="Total Seats Info" Required="FALSE" />
    <FieldRef ID="{8A900663-6351-445B-ACB3-394F44D45C8D}" Name="OpenSeatsInfo" DisplayName="Open Seats Info" Required="FALSE" />
    </FieldRefs>
    </ContentType>
    </ContentTypes>
    <Fields>
    <Field ID="{7113cbe5-57e9-4082-a0a2-492b35b69c8d}" Type="Lookup" List="Lists/Courses-List" ShowField="Title" Name="CourseTitle" DisplayName="Courses - Title" Required="FALSE" Group="Training Site Columns" />
    <Field ID="{920ae6a7-2aae-4e43-8855-7cbd9978ec5e}" Type="Lookup" List="Lists/SessionTrainer" ShowField="FullName" Name="Trainer" DisplayName="Trainer" Required="FALSE" Group="Training Site Columns" />
    <Field ID="{f73d9a96-3c86-4e33-96d5-31e30b08bf40}" Type="Choice" Name="TrainingVenue" DisplayName="Training Venue" Required="FALSE" Group="Training Site Columns">
    <CHOICES>
    <CHOICE>Kerala Meeting Room</CHOICE>
    <CHOICE>Orissa Meeting Room</CHOICE>
    <CHOICE>Bihar Meeting Room</CHOICE>
    </CHOICES>
    </Field>
    <Field ID="{b6e9c8f5-f1bd-4d98-bd30-194504859acc}" Type="Number" Decimals="0" Min="0" Name="RegistrationsInfo" DisplayName="Registrations Info" Required="FALSE" Group="Training Site Columns" />
    <Field ID="{03281b47-f1d1-477e-9793-3a19118720ee}" Type="Number" Decimals="0" Min="0" Name="TotalSeatsInfo" DisplayName="Total Seats Info" Required="FALSE" Group="Training Site Columns" />
    <Field ID="{8a900663-6351-445b-acb3-394f44d45c8d}" Type="Calculated" ResultType="Number" ReadOnly="TRUE" Name="OpenSeatsInfo" DisplayName="Open Seats Info" Required="FALSE" Group="Training Site Columns">
    <Formula>=TotalSeatsInfo-RegistrationsInfo</Formula>
    <FieldRefs>
    <FieldRef Name="TotalSeatsInfo" ID="{03281B47-F1D1-477E-9793-3A19118720EE}" />
    <FieldRef Name="RegistrationsInfo" ID="{B6E9C8F5-F1BD-4D98-BD30-194504859ACC}" />
    </FieldRefs>
    </Field>
    </Fields>
    <Views>
    <View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
    <Toolbar Type="Standard" />
    <XslLink Default="TRUE">main.xsl</XslLink>
    <RowLimit Paged="TRUE">30</RowLimit>
    <ViewFields>
    <FieldRef Name="LinkTitleNoMenu">
    </FieldRef>
    <FieldRef Name="CourseTitle"></FieldRef>
    <FieldRef Name="Trainer"></FieldRef>
    <FieldRef Name="TrainingVenue"></FieldRef>
    <FieldRef Name="RegistrationsInfo"></FieldRef>
    <FieldRef Name="TotalSeatsInfo"></FieldRef>
    <FieldRef Name="OpenSeatsInfo"></FieldRef>
    </ViewFields>
    <Query>
    <OrderBy>
    <FieldRef Name="Modified" Ascending="FALSE">
    </FieldRef>
    </OrderBy>
    </Query>
    <ParameterBindings>
    <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />
    </ParameterBindings>
    </View>
    <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">
    <Toolbar Type="Standard" />
    <XslLink Default="TRUE">main.xsl</XslLink>
    <RowLimit Paged="TRUE">30</RowLimit>
    <ViewFields>
    <FieldRef Name="Attachments">
    </FieldRef>
    <FieldRef Name="LinkTitle">
    </FieldRef>
    <FieldRef Name="CourseTitle"></FieldRef>
    <FieldRef Name="Trainer"></FieldRef>
    <FieldRef Name="TrainingVenue"></FieldRef>
    <FieldRef Name="RegistrationsInfo"></FieldRef>
    <FieldRef Name="TotalSeatsInfo"></FieldRef>
    <FieldRef Name="OpenSeatsInfo"></FieldRef>
    </ViewFields>
    <Query>
    <OrderBy>
    <FieldRef Name="ID">
    </FieldRef>
    </OrderBy>
    </Query>
    <ParameterBindings>
    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
    </ParameterBindings>
    </View>
    </Views>
    <Forms>
    <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    </Forms>
    </MetaData>
    </List>
    Event Receiver file:-
    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    //Reference the newly created session list and perform the following
    //1. Set the display name of the "Title" column to "SessID" and hide it from the New and Edit Forms
    //2. Make the "SessID" column not required
    //3. Set the default value of the RegistrationsInfo column to 0 and do not display it on the new form
    //4. Add the built-in "Start Date" and "End Date" columns
    //Reference the newly created session list
    SPWeb currentWeb = properties.Feature.Parent as SPWeb;
    //currentWeb.AllowUnsafeUpdates = true;
    SPList sessionList = currentWeb.Lists["SessionList"];
    //Title column update
    SPField titleField = sessionList.Fields["Title"];
    titleField.Required = false;
    titleField.ShowInNewForm = false;
    titleField.ShowInEditForm = false;
    titleField.Title = "SessID";
    titleField.Update();
    //RegistrationsInfo column updates
    SPField registrationField = sessionList.Fields["RegistrationsInfo"];
    registrationField.DefaultValue = "0";
    registrationField.ShowInNewForm = false;
    registrationField.Update();
    //Add the Start Date and End Date columns to the list, ensure they both display Date and Time, and add them to the default view of the list
    SPFieldDateTime startDate = currentWeb.Fields["Starting_Date"] as SPFieldDateTime;
    startDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime;
    SPFieldDateTime endDate = currentWeb.Fields["Ending_Date"] as SPFieldDateTime;
    endDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime;
    sessionList.Fields.Add(startDate);
    sessionList.Fields.Add(endDate);
    SPView defaultView = sessionList.DefaultView;
    defaultView.ViewFields.Add(startDate);
    defaultView.ViewFields.Add(endDate);
    defaultView.Update();
    sessionList.Update();
    //currentWeb.AllowUnsafeUpdates = false;
    Can somebody help me - how to overcome the RegistrationsInfo missing field - error(in the stack trace) when activating the feature in the training site?
    Thanks
    Sathya

    Hi Sathya,
    Seems the field “RegistrationsInfo” is not been found when deploying with Event Receiver, a possible reason is that it might be damaged.
    As a workaround, I suggest you retract the solution from your farm, make sure the “RegistrationsInfo” field is deleted using PowerShell, then create another project with the same
    content and perform the deployment again.
    About how to delete a field using PowerShell for your reference:
    https://peterheibrink.wordpress.com/2011/12/09/powershell-delete-field-and-all-references/
    http://www.sharepointfix.com/2011/04/powershell-script-to-delete-site.html
    Feel free to reply if there any progress.
    Thanks
    Patrick Liang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • How to create an External Content Type with SQL Stored Procedures Parameters and query it in a SharePoint App

    Hi,
    I'm new to SharePoint 2013 I want to be able to query a MSSQL database from a SharePoint App I have tried to create an External Content Type (ECT) which is produced from a MSSQL stored Procedure, this procedure has several parameters which are needed to
    filter the data correctly.  From here I want to produce an external list which I can then query from a c# SharePoint app.  If I leave the filters in the ECT null then the list is of course empty or if enter a default values the results are limited
    for the app to query so are no good.
    I want to dynamically pass values to the ECT when querying from the app, is this not possible.  Should I just be returning everything in an external list and then letting the query in the app filter the data, this seems inefficient?
    Is this the best way to do this or should I be doing this differently?
    Please can someone point me in the right direction.
    Thanks

    Hi Pandra801,
    When you create a the external content type, please try to add a filter based on your select statement.
    http://arsalkhatri.wordpress.com/2012/01/07/external-list-with-bcs-search-filters-finders/
    Or, try to create a stored procedure based on your select statement, then create ECT using the SQL stored procedure.
    A step by step guide in designing BCS entities by using a SQL stored procedure
    http://blogs.msdn.com/b/sharepointdev/archive/2011/02/10/173-a-step-by-step-guide-in-designing-bcs-entities-by-using-a-sql-stored-procedure.aspx
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • From SharePoint Content Database, Using SQL-Server Query how to fetch the 'Document GUID' based on 'Content Type'

    I want to get all the documents based on content type using SQL Server Query. I know that, querying the content database without using API is not advisable, but still i want to perform this action through SQL Server Query. Can someone assist ?

    You're right, it's not advisable, may result in corruption of your databases and might impact performance and stability. But assuming you're happy to do that then it is possible.
    Before you go down that route, have you considered using something more safe like PowerShell? I've seen a script exactly like the one you describe and it would take far less time to do it through PS than it would through SQL.

  • URL data type in CAML Query with Client side object model

    hi,
    How do I write a CAML query to filter list items based on the URL field using it's Description?
    Same with REST API. How do I construct a REST query so that filter list items based on the URL data type using it's Description.

    Hi Cooltechie,
    Thanks for posting your query, Below are the example that you can use in your CAML query
    <Where><Eq><FieldRef Name="FileRef"/><Value Type="Url">sites/SiteCollection/SubSite/Site Documents/Excel Report.xls</Value></Eq></Where>
    Note: Do not include the server name or beginning /.
    The following examples assuming you have a list or library setup with a URL column named "My Document".
    The link is to a document that is hosted on the sharepoint server (do not need server name):
    <Where><Eq><FieldRef Name="My_x0020_Document"/><Value Type="URL">/sites/subsite/Site%20Documents/Excel%20Report.xls</Value></Eq></Where>
    The link is an absolute URL to something not on the server... for example http://www.google.com:
    <Where><Eq><FieldRef Name="My_x0020_Document"/><Value Type="URL">http://www.google.com</Value></Eq></Where>
    I hope this is helpful to you, mark it as Helpful.
    If this works, Please mark it as Answered.
    Regards,
    Dharmendra Singh (MCPD-EA | MCTS)
    Blog : http://sharepoint-community.net/profile/DharmendraSingh

  • Join two list of integer type field using CAML query

    Hi
    As i am struggling in Join two sharepoint list (Roles and Emplyees). As there is no lookup columns and lists are already existing and have almost 3000 + recodrs. As a part of enhancement work need to join these list. List structure is some thing as follows: 
    Roles :
    ID                              Title
    1                               Project Manager
    2                               Business Analyst
    3                              Developer
    Employees :
    Name                       Role
    1 James                  1
    2 Petar                    3
    3 John                     2
    Output should be like as follows:
    Name                       Role
    1 James                  Project Manager
    2 Petar                    Developer
    3 John                     Developer
    So please suggest, if the joining can be done other than lookup columns through the CAML query.
    Akhilesh Rao

    Follow below CAML query to add joins between two lists.
    SPList list = SPContext.Current.Site.RootWeb.Lists["Employees"];
    SPQuery query = new SPQuery();
    query.Joins = @" <Join Type="INNER" ListAlias="Roles">
    <Eq>
    <FieldRef Name="Employees" RefType="Role" />
    <FieldRef List="Roles" Name="ID" />
    </Eq>
    </Join>";
    query.ProjectedFields = @" <Field Name="RoleName" Type="Lookup" List="Roles" ShowField="Title">";
    query.ViewFields = @ "<FieldRef Name="Title">
    <FieldRef Name="RoleName"> ";
    SPListItemCollection result = tablea.GetItems(query);
    Adnan Amin MCT, SharePoint Architect | If you find this post useful kindly please mark it as an answer :)

  • REST Query to Get Content Type Name

    I'm just getting started learning to use the SharePoint REST interface.  One of the first things I'd like to do is return the content type name for a list item in a document library (the document library is configured with several content types).  From
    what I've read, it looks like I need to use the $expand query option.  So, my REST query looks like this:
    http://localhost/_api/web/lists/Documents/Items()?&$select=ContentType/Name&$expand=ContentType/Name
    But it's not working.  I can't "dig" out the content type name property.  In other words the $expand query option is not working.  I just receive the following which includes a link to the content type: 
      <entry m:etag="&quot;2&quot;">
        <id>4078e129-ac4b-44b8-b469-bcc083f2268d</id>
        <category term="SP.Data.DocumentsItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
        <link rel="edit" href="Web/Lists(guid'cd710fd1-057e-4ee7-b0bd-1f014218ea3e')/Items(36)" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ContentType" type="application/atom+xml;type=entry" title="ContentType" href="Web/Lists(guid'cd710fd1-057e-4ee7-b0bd-1f014218ea3e')/Items(36)/ContentType"
    />
        <title />
        <updated>2013-04-12T00:16:26Z</updated>
        <author>
          <name />
        </author>
        <content type="application/xml" />
      </entry>
    I've tried difference variations and if I just use "$expand=ContentType" then I get all the list items with the content type fully expanded within each item.
    What am I missing?

    It's been awhile since this question got asked, but I figured i'd post for anyone who happens to stumble
    on it.
    Try this:
    http://localhost/_api/web/lists/Documents/Items(<item
    id>)/ContentType?$select=Name

  • Retrieve all items in a list by caml query then write it to a word file page by page

    Dears,
    Greetings
    I have some code which will retrieve all items of a list with caml query.
    Now i want to generate a word file with all these retrieved data. I am using foreach here to get all the items in a SPListItemCollection. Now my question is how i can write all the retrieved items inside the word file?
    see the below code which is writing only the last row item of the SPListItemCollection inside word file. I want to write all the retrieved rows inside this word file.
    SPQuery qry = new SPQuery();
    qry.Query = "<Where><Eq><FieldRef Name='Department' /><Value Type='Text'>HR DEPARTMENT</Value></Eq></Where>";
    SPListItemCollection listItems = KPILIst.GetItems(qry);
    foreach (SPListItem item in listItems)
    lblBadgeNo.Text = item["Badge No"].ToString();
    lblName.Text = item["Name"].ToString();
    lblPosition.Text = item["Position"].ToString();
    lblDept.Text = item["Department"].ToString();
    lblHireDate.Text = item["Hire Date"].ToString();
    lblGrade.Text = item["Grade"].ToString();
    lblCurStatus.Text = item["Status"].ToString();
    string FinalOut = "";
    FinalOut = "<table cellpadding=0 cellspacing=0><tr><td style='height:30px;'></td></tr><tr><td style='height:22px;'></td></tr>";
    FinalOut = FinalOut + "<tr><td style='text-align:justify;font-size:22px;'>" + lblBadgeNo.Text + "</td></tr>";
    FinalOut = FinalOut + "<tr><td style='text-align:justify;font-size:22px;'>" + lblName.Text + "</td></tr>";
    FinalOut = FinalOut + "<tr><td style='text-align:justify;font-size:22px;'>" + lblDept.Text + "</td></tr>";
    FinalOut = FinalOut + "<tr><td style='text-align:justify;font-size:22px;'>" + lblHireDate.Text + "</td></tr>";
    FinalOut = FinalOut + "</table>";
    System.Text.StringBuilder strBody = new System.Text.StringBuilder("");
    strBody.Append("<html " + "xmlns:o='urn:schemas-microsoft-com:office:office' " + "xmlns:w='urn:schemas-microsoft-com:office:word'" + "xmlns='http://www.w3.org/TR/REC-html40'>" + "<head><title>EPCCO : HR Comapny Letter</title>");
    strBody.Append("<!--[if gte mso 9]>" + "<xml>" + "<w:WordDocument>" + "<w:View>Print</w:View>" + "<w:Zoom>90</w:Zoom>" + "<w:DoNotOptimizeForBrowser/>" + "</w:WordDocument>" + "</xml>" + "<![endif]-->");
    strBody.Append("<style>" + "<!-- /* Style Definitions */" + "@page Section1" + " {size:8.5in 11.0in; " + " margin:1.0in 1.25in 1.0in 1.25in ; " + " mso-header-margin:.5in; " + " mso-footer-margin:.5in; mso-paper-source:0;}" + " div.Section1" + " {page:Section1;}" + "-->" + "</style></head>");
    strBody.Append("<body dir=rtl lang=EN-US style='tab-interval:.15in'>" + "<div class=Section1>" + FinalOut.ToString() + "</div></body></html>");
    Response.AppendHeader("Content-Type", "application/msword");
    Response.AppendHeader("Content-disposition", "attachment; filename=Eval_" + lblBadgeNo.Text + ".doc");
    Response.Write(strBody);
    Regards
    Shaji
    I am new to SharePoint

    Hello,
    you can try with OpenXML SDK to create word file. I found one link for your reference:
    http://sharepointplace.blogspot.in/2009/12/programmatically-creating-word.html
    Another way is , use Microsoft Word Object Library.
    http://social.msdn.microsoft.com/Forums/vstudio/en-US/5b82c0b5-ecaf-40f2-a68a-c7c17c85414f/create-word-documents-by-c?forum=csharpgeneral
    Hope it could help
    Hemendra:Yesterday is just a memory,Tomorrow we may never see
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

  • Creating a external content type for Read and Update data from two tables in sqlserver using sharepoint designer

    Hi
    how to create a external content type for  Read and Update data from two tables in  sqlserver using sharepoint designer 2010
    i created a bcs service using centraladministration site
    i have two tables in sqlserver
    1)Employee
    -empno
    -firstname
    -lastname
    2)EmpDepartment
    -empno
    -deptno
    -location
    i want to just create a list to display employee details from two tables
    empid firstname deptno location
    and same time update  in two tables
    adil

    When I try to create an external content type based on a view (AdventureWorks2012.vSalesPerson) - I can display the data in an external list.  When I attempt to edit it, I get an error:
    External List fails when attached to a SQL view        
    Sorry, something went wrong
    Failed to update a list item for this external list based on the Entity (External Content Type) 'SalesForce' in EntityNamespace 'http://xxxxxxxx'. Details: The query against the database caused an error.
    I can edit the view in SQL Manager, so it seems strange that it fails.
    Any advice would be greatly GREATLY appreciated. 
    Thanks,
    Randy

  • The query against the database caused an error in https: site

    Hi
    I have created a new Data source and External content type in sharePoint 2013
    I have also given all the permission to this Content type (including "Users(Windows)")
    I also having edit permission in the Sql-database.
    I have tied almost all the possibilities given in the net for this error.
    still the error("the query against the database caused an error") is there.
    Is this because of "https:/ " in the url?
    Can any one give a suggestion / solution for this?
    Thanks
    S H A J A N

    Hi,
    Can you please check ULS Log as well as event viewer, to see if there's any related error reported?
    Thanks,
    Sohel Rana
    http://ranaictiu-technicalblog.blogspot.com

  • Using CAML Query in SharePoint Hosted app

    Hi,
    I am trying to execute a CAML Query in a SharePoint Hosted App, below is the JS code.
        executor.executeAsync({
            url: appwebUrl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('Documents')/Items?/getitems?@target='" + hostweburl + "'",
            method: "POST",
        body: { 'query' : {'__metadata': { 'type': 'SP.CamlQuery' }, "ViewXml": "<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='TEXT'>value</Value></Eq></Where></Query></View>"
        headers: {
            "accept": "application/json; odata=verbose",
            "content-type": "application/json; odata=verbose"
        success: successHandler,
        error: errorHandler
    getting an error: Uncaught Error: "Invalid field or parameter requestInfo.body"

    Are you using rest api?
    Please check this
    http://tech.bool.se/using-caml-sharepoint-rest-api/
    http://msdn.microsoft.com/en-us/library/office/dn531433(v=office.15).aspx

  • Get items between in the publishingstartdate and publishingend date in a content type.

    Hi,
    I have a content type that has  two site columns publishingStartdate and publishing end date.
    The content type is added to a document library.
    When I create an item of the content type then it  gives two options for publishing start date as immediately and then a date fiel.d
    For publishing end date as never and a date control.
    Now I want to be able to get only the results which are published as in  todays date is in between  publishing start date and end date.
    But  it seems publihsingstart date and publishingend date fields are text type hence I cannot run CAML Query with Greater than  and less than.
    Is there a way to get the items and run the caml quey 

    Hey Dennis,
    Thanks for the reply.
    But I am facing a strange issue. That is I also want to be able to get only those items contain certain keyword in the title column.
    I am using the following query, But it is not giving the right results. Here is the query 
    <Where>
                          <And>
                                                     <Or>
                                                        <And>
                                                          <Or>
                                                              <And>
                                                                 <BeginsWith>
                                                                    <FieldRef Name='ContentTypeId'
    />
                                                                    <Value Type='ContentTypeId'>{0}</Value>
                                                                 </BeginsWith>
                                                                 <IsNull>
                                                                    <FieldRef Name='PublishingStartDate'
    />
                                                                 </IsNull>
                                                              </And>
                                                              <Leq>
                                                                 <FieldRef Name='PublishingStartDate' />
                                                                 <Value Type='DateTime'>
                                                                    <Today />
                                                                 </Value>
                                                              </Leq>
                                                           </Or>
                                                           <IsNull>
                                                              <FieldRef Name='PublishingEndDate' />
                                                           </IsNull>
                                                        </And>
                                                        <Geq>
                                                           <FieldRef Name='PublishingEndDate' />
                                                           <Value Type='DateTime'>
                                                              <Today />
                                                           </Value>
                                                        </Geq>
                                                     </Or>
                          <Contains>
                          <FieldRef Name='Title' />
                       <Value Type='Text'>{1}</Value>
                        </Contains>
                        </And>
                                                    </Where><OrderBy><FieldRef Name='PostedDate' Ascending='False' /></OrderBy>
    But it is giving me incorrect results.
    Should I be using joins in SPQuery.

Maybe you are looking for