Gabriele Del Giovine Blog (Z80 powered brain...)


Un blog su quel che faccio (o cerco di fare...)
Calendario
luglio 2024
lmmgvsd
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
Archivio Posts
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Links
    Mappa
    Blogs Amici
      Statistiche
      • Views Home Page: 302.859
      • Views Posts: 368.761
      • Views Gallerie: 256
      • n° Posts: 163
      • n° Commenti: 198

      Come creare query CAML senza CAML

      Scrivere Query CAML per interrogare le liste di Sharepoint non è certo uno dei compiti più gradevoli per un programmatore.
      La complessità della sintassi CAML, le particolari limitazioni nella composizione della query e non ultimo il fatto che CAML è in realtà un dialetto XML
      rendono il compito non frà i più agevoli. Almeno per me . Così, mi son deciso di costruire un oggetto che permette di creare query CAML anche molto
      complesse senza vedere l'ombra di XML. L'oggetto fa parte di una namespace che ingloba tutto l'oggetto SPList ed il cui scopo finale è quello di
      nascondere al programmatore le complessità (ed i bugs...) presenti nell'Object Model di MOSS/WSS.

      Un assaggino della cosa:

              Dim TestSPList As New TestSPList (questa è una lista Sharepoint)
              Dim filter0 As New SharepointDAL.WhereFields
              Dim filter1 As New SharepointDAL.WhereFields
          
              Dim CAMLQuery As New SharepointDAL.CAMLQuery
              Dim CAML As String = ""
       

              TestSPList.Init("http://wss3", "site")
             
       
              filter0.Add(TestSPList.Title, ComparisionOperator.Equals, "A", LogicOperator.None)
              filter1.Add(TestSPList.MultipleLinesOfText, ComparisionOperator.Contains, "1", LogicOperator.OR)
              filter1.Add(TestSPList.MultipleLinesOfText, ComparisionOperator.Contains, "2", LogicOperator.None)

          
              CAMLQuery.WhereFieldsGroup.Add(filter0, LogicOperator.AND)
              CAMLQuery.WhereFieldsGroup.Add(filter1, LogicOperator.None)
         
              CAMLQuery.BuildCAMLQuery(CAML)

              TestSPList.CAMLQuery = CAML
              TestSPList.LoadAll()

              Me.DataGridView1.DataSource = TestSPList.GetDataTable



      Se la cosa vi interessa (ed intriga) tenetevi sintonizzati. L'intero progetto dello SharepointDAL che ho scritto verrà pubblicato a puntate su questo Blog.

      Categoria: Sharepoint
      lunedì, 24 set 2007 Ore. 23.07
      Copyright © 2002-2007 - Blogs 2.0
      dotNetHell.it | Home Page Blogs
      ASP.NET 2.0 Windows 2003