2011-08-08 66 views
0

我使用Sharepoint 2010作爲我的文檔庫,與sharepoint進行通信的方法是通過webservice,因爲sharepoint安裝在單獨的機器上。 當我添加到我的庫中時,我需要更新其他一些列。我沒有上傳文件的問題,但是當我想更新列時,我需要這個ID。查詢文檔庫

我上傳了2個不同的文件,但是當我使用我的查詢時,我總是會看到這兩個文件。這是我用過的查詢。

Dim objXMLDoc As XmlDocument = New XmlDocument() 
    Dim objXmlQuery As XmlElement = objXMLDoc.CreateElement("Query") 
    Dim objXmlView As XmlElement = objXMLDoc.CreateElement("ViewFields") 
    Dim objXmlOptions As XmlElement = objXMLDoc.CreateElement("QueryOptions") 
    objXmlQuery.InnerXml = "<orderby><FieldRef Name='Created' Ascending='FALSE'/></orderby><where><eq><fieldref Name='FileLeafRef'/><value type='text'>" + strFileName + "</value></eq></where>" 
    objXmlView.InnerXml = "<fieldref Name='ID'/>" 
    objXmlOptions.InnerXml = "<ViewAttributes Scope='Recursive' />" 
    Dim objXmlListItem As XmlNode = spProxy.GetListItems("DocLibName","DocLibView", objXmlQuery, objXmlView, "", objXmlOptions, vbNullString) 

有人能指導我嗎?

我發現這個問題,這是由於聲明的順序,無論如何,我可以在CAML中包含聲明順序?

回答

0

我不知道爲什麼,但不知何故後,我改變

objXmlQuery.InnerXml = "<orderby><FieldRef Name='Created' Ascending='FALSE'/></orderby><where><eq><fieldref Name='FileLeafRef'/><value type='text'>" + strFileName + "</value></eq></where>" 

objXmlQuery.InnerXml = "<where><eq><fieldref Name='FileLeafRef'/><value type='text'>" + strFileName + "</value></eq></where><orderby><FieldRef Name='Created' Ascending='FALSE'/></orderby>" 

,它給了我預期的結果