2011-08-08 16 views
0

私のドキュメントライブラリにSharepoint 2010を使用しています.Sharepointとの通信に使用される方法は、Sharepointが別のマシンにインストールされているためwebservice経由です。 ライブラリに追加するときに、追加の列の一部を更新する必要があります。ファイルのアップロードに問題はありませんが、列を更新する場合は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) 

誰かが私にこのことを教えてもらえますか?

私はこの問題を発見しました。これは、order byステートメントによるものです。とにかく、order byステートメントをCAMLに含めることができますか?

答えて

0

私がなぜわからないんだけど、私は

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

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

を変更何とかした後、それは私に私の期待される結果が得られた