none
Clausulas Where do SPQUERY RRS feed

  • Pergunta

  • Como a partir da consulta abaixo, eu poderia coletar somente os dados de "pExpedicaoRealizado" maior que '01/06/2016' ordenado crescentemente. então são três duvidas em uma.

    1. Como adicionar a clausula "where" para pegar somente maiores que a data de paramentro?

    2. Como converter '01/06/2016' para DATE?

    3. Como classificar ascendentemente os dados como a clausula ORDER BY do SQL

    Segue a consulta simples da lista sharepoist:

    <RSSharePointList xmlns:xsi="______________________________" xmlns:xsd="______________________">
      <ListName>Processos DITEC</ListName>
      <ViewFields>

        <FieldRef Name="pExpedicaoRealizado" />

      </ViewFields>
    </RSSharePointList>

    terça-feira, 23 de agosto de 2016 20:06

Todas as Respostas

  • Olá Wanderson!

    Respondendo suas perguntas, a sua CAML deveria ser assim:

     

    <Where>
      <Gt>
        <FieldRef Name='pExpedicaoRealizado' />
        <Value Type='DateTime' IncludeTimeValue='TRUE' StorageTZ='TRUE'>
          2016-06-01T00:00:00Z
        </Value>
      </Gt>
    </Where>
    <OrderBy>
    <FieldRef Name='pExpedicaoRealizado' Ascending='TRUE'/>
    </OrderBy>

    Explicando melhor, basicamente no CAML do SharePoint para usarmos a coluna de comparação de data, precisamos passar o formato ISO8601 como padrão (esse com T e Z entre a data e hora), inclusive se você estiver usando c# para sua aplicação, você pode usar a classe SPUtility.CreateISO8601DateTimeFromSystemDateTime() que ela gera uma data nesse formato já.

    Usamos o <Gt> para dizer que a condição vai acontecer quando for maior que o valor especificado e a tag OrderBy para fazermos a ordenação que você deseja.

    Veja se isso resolve o seu problema e se precisar, conte comigo!

    Douglas Romão - Especialista SharePoint | MTAC - Microsoft Technical Audience Contributor

    Quicked - Soluções em Tecnologia
    Blog Douglas Romão

    *Se achar que isso respondeu sua pergunta por favor marque como Resposta


    sábado, 10 de setembro de 2016 05:12