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


Un blog su quel che faccio (o cerco di fare...)
Calendario
dicembre 2024
lmmgvsd
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Archivio Posts
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Links
    Mappa
    Blogs Amici
      Statistiche
      • Views Home Page: 305.415
      • Views Posts: 373.263
      • 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