0
StringBuilder xmlString = new StringBuilder(
    "<QueryPacket xmlns='urn:Microsoft.Search.Query'>"
    + "<Query><SupportedFormats><Format revision='1'> urn:Microsoft.Search.Response.Document:Document"
    + "</Format></SupportedFormats><Context>"
    + " <QueryText language='en-US' type='FQL'>");

// this adds the search free form text 
xmlString.Append("Earth");
query.Append(
    "</QueryText></Context>"
    + "<Properties>"
    + "<Property name='Name'/>"
    + "<Property name='Department' />"
    + "<Property name='Property1' />"                
    + "<Property name='Property2' />"
    + "<Property name='Property3' />"
    + "<Property name='Property4' />"
    + "<Property name='Property5' />"
    + "</Properties>"
    + "<Where>"
    + "<IsNotNull><FieldRef Name='Name'></FieldRef></IsNotNull>"
    + "<And><IsNotNull><FieldRef Name='Property1'></FieldRef></IsNotNull></And>"
    + "</Where>"                                       
    + "</Query></QueryPacket>"
);

QueryServiceSoapClient.QueryEx(query)

Name 列と Property1 列に null/空の値を持つデータを取得しています。なぜどこが機能していないのですか?

4

3 に答える 3

0
+ "<And><IsNotNull><FieldRef Name='Property1'></FieldRef>"+"</IsNotNull>And>"

IsNotNullあなたが行方不明になった後のこの行で</は、行は

+ "<And><IsNotNull><FieldRef Name='Property1'></FieldRef>"+"</IsNotNull></And>"
于 2013-05-17T09:06:58.157 に答える
0

あなたの問題は、<and>条項が間違った場所にあることです。

次のようになります。

 <Where>
    <And>
        <IsNotNull>
            <FieldRef Name='Name'>
            </FieldRef>
         </IsNotNull>
         <IsNotNull>
             <FieldRef Name='Property1'></FieldRef>
         </IsNotNull>
    </And>
</Where> 

and 句を配置する必要があるのは奇妙な場所ですが、それが CAML のしくみです。Linq の代わりに CAML を使用する場合は、 CAMLQueryHelperなどのプログラムを使用することを強くお勧めします。

于 2013-05-21T19:50:28.113 に答える