zoukankan      html  css  js  c++  java
  • 学习:WSS/MOSS中的查询构造(转)

        先来看看查询的元素:
      
    Query
        Where
            Logical Joins
            And
                [Logical Joins]
                [Comparison Operators]
            Or
                [Logical Joins]
                [Comparison Operators]
            Comparison Operators
            BeginsWith
                FieldRef
                Value
                XML
            Contains
                FieldRef
                Value
                XML
            Eq
                FieldRef
                Value
                XML
            Geq
                FieldRef
                Value
                XML
            Gt
                FieldRef
                Value
                XML
            Leq
                FieldRef
                Value
                XML
            Lt
                FieldRef
                Value
                XML
            Neq
                  FieldRef
                  Value
                  XML
            DateRangesOverlap
                FieldRef
                Value
            IsNotNull
                FieldRef
            IsNull
                FieldRef
        Order/Group Operators
        OrderBy
            FieldRef
        GroupBy
            FieldRef


        但是,单单看这个很难理解,尤其是Where的构造。说起来好像比较麻烦,举个例子,就清楚了:
      
    <And>
      <And>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J1539</Value>
        </Eq>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J9862</Value>
        </Eq>
      </And>
      <Or>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J0394</Value>
        </Eq>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J4589</Value>
        </Eq>
      </Or>
    </And>


        上面的代码描述:(ProductID = J1539 AND ProductID = J9862) AND (ProductID = J0394 OR ProductID = J4589)。

        但是,今天却发现,在构造查询时,如果最后多了结束符,却不会影响结果(不起作用),也不会报错。


    <And>
      <And>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J1539</Value>
        </Eq>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J9862</Value>
        </Eq>
      </And>
      <Or>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J0394</Value>
        </Eq>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J4589</Value>
        </Eq>
      </Or>
    </And>
        <Eq>
          <FieldRef Name="ProductID"/>
          <Value Type="Text">J4590</Value>
        </Eq>
    </And>

      

        蓝色部分是之前的例子,红色是新增部分。不妨去试验一下。


    文章出自:刘帝勇的大观园http://blog.sina.com.cn/s/blog_3f2ef11801000bpn.html~type=v5_one&label=rela_nextarticle
  • 相关阅读:
    第八场 hdu 6136 Death Podracing(dfs+思维)
    第九场 hdu 6162 Ch’s gift(树链剖分+线段树)
    树链剖分 模板
    CodeForces
    第十场 hdu 6172 Array Challenge(矩阵快速幂)
    第十场 hdu 6171 Admiral(双向bfs找交点)
    CodeForces
    第十场 hdu 6178 (bfs)
    第十场 hdu 6180 Schedule (multiset)/(思维)
    第八场 hdu 6143 Killer Names(思维题)
  • 原文地址:https://www.cnblogs.com/LeimOO/p/1422166.html
Copyright © 2011-2022 走看看