2011-05-28 93 views
0

查詢:任何人都可以告訴我這個caml查詢代碼有什麼問題嗎?

<Where> 
    <Eq> 
    <FieldRef Name='Document Type' LookupId='True' />    
    <Value Type='Text'>Standards(STA)</Value> 
    </Eq> 
</Where> 
<OrderBy> 
<FieldRef Name='Number' Ascending='False'/> 
</OrderBy> 
<RowLimit>1</RowLimit>" 

代碼上下文:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<%@ Import Namespace="System.IO" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Page Language="C#" inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register tagprefix="WebPartPages" namespace="Microsoft.SharePoint.WebPartPages" assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register tagprefix="SharePoint" namespace="Microsoft.SharePoint.WebControls" assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<html> 

<head> 
<meta name="WebPartPageExpansion" content="full" /> 
<meta name="ProgId" content="SharePoint.WebPartPage.Document" /> 


<h1>T-Site</h1> 

<script runat="server" type="">    

protected void sevak(object sender, EventArgs e) 

string lastitem; 
try 
{ 

    using (SPSite objsite = new SPSite("http://...")) 
    { 
    using (SPWeb objWeb = objSite.OpenWeb()) 
    { 
     SPList objList = objWeb.Lists["...."]; 
     SPQuery objQuery = new SPQuery(); 

     objQuery.Query = "<Where><Eq><FieldRef Name='Document Type' LookupId='True' />   <Value Type='Text'>Standards(STA)</Value></Eq></Where><OrderBy><FieldRef Name='Number' Ascending='False'/></OrderBy><RowLimit>1</RowLimit>"; 

     objQuery.Folder = objList.RootFolder; 
     SPListItemCollection colItems = objList.GetItems(objQuery); 

     if (colItems.Count>0) 
     { 
     lastitem=colItems(0); 
     } 
     else 
     { 
     Label1.Text="noItem"; 
     } 
    } 
    } 
} 
catch (Exception ex) 
{ 
    return ex; 
} 

Label1.Text= "lastitem"; 

<SharePoint:CssLink runat="server"></SharePoint:CssLink> 
<SharePoint:ScriptLink runat="server" language="javascript" name="core.js"> 

</SharePoint:ScriptLink> 

<body> 

<form id="form1" runat="server" action="Page-2.aspx"> 
<p> 


<asp:Button runat="server" Text="Submit" id="Button1" OnClick="sevak" ></asp:Button> 


</p> 
<p><asp:Label runat="server" id="Label1"></asp:Label></p> 
</form> 
</body> 


</html> 

回答

4

我認爲這個問題是字段引用 「文件類型」:

  1. FieldRef元素期望引用字段的內部名稱。如果通過UI創建了「文檔類型」列,則該列的內部名稱是「Document_x0020_Type」。

  2. 您指定了LookupId="True"這會導致查找與查找字段的ID相對,但您提供了文本值。根據您的字段類型,您應提供文檔類型的數字ID或省略LookupId="True"部分以查詢查找字段的文本。

相關問題