none
Buscar elemento en una lista RRS feed

  • Pregunta

  • Hola a todos,  gracias de antemano por su tiempo y paciencia.

    Soy nuevo en la creación de aplicaciones.Estoy teniendo unos problemas al querer consultar una lista, para saber si al ingresar un nuevo item. El campo " Codigo" ya se encuentra en la lista, si es asi que me devuelva su id, para actualizar el mismo.

    En una clase hago la consulta:

     

    public static SPListItemCollection buscarItem(SPList lista,int valor)     

       {            SPQuery Consulta = new SPQuery();           

    Consulta.Query = "<Query><Where><Eq><FieldRef Name='Codigo' /><Value Type='Number'>" + valor + "</Value></Eq></Where></Query>";  

              SPListItemCollection resultado = lista.GetItems(Consulta);        

        return resultado; }


    En el programa principal

     
    resultado = Metodos.buscarItem(taskList, 43);
                 
                if (resultado.Count > 0)
                {
    
     // hacer al algo. modificar item.
    
    }

    El tema es que siempre entra dentro del IF. aunque no halla ningun campo "codigo = 43".

    Alguien que me pueda dar una mano. alguna pagina. algun ejemplo. Muchas gracias.

    jueves, 21 de marzo de 2013 18:51

Respuestas

  • Hola,

    Lo mejor que puedes hacer en estos casos para estar seguro que estás construyendo bien la consulta es lo siguiente:

    • O bien usar alguna herramienta como Query Builder para construirte y probar las consultas CAML.
    • O bien crear una aplicación de consola en la que te traigas todos los ítems de la lista y puedas comprobar los tipos de datos de cada campo de la lista ya que el problema lo puedes tener ahí.

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Marcado como respuesta FedeSharepoint jueves, 21 de marzo de 2013 21:33
    jueves, 21 de marzo de 2013 19:34

Todas las respuestas

  • Hola,

    Lo mejor que puedes hacer en estos casos para estar seguro que estás construyendo bien la consulta es lo siguiente:

    • O bien usar alguna herramienta como Query Builder para construirte y probar las consultas CAML.
    • O bien crear una aplicación de consola en la que te traigas todos los ítems de la lista y puedas comprobar los tipos de datos de cada campo de la lista ya que el problema lo puedes tener ahí.

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Marcado como respuesta FedeSharepoint jueves, 21 de marzo de 2013 21:33
    jueves, 21 de marzo de 2013 19:34
  • Gracias Juan Carlos. Pude obtener los resultados buscados de la siguiente manera.

    Eliminando las etiquetas <Query>   </Query> de

     "<Query><Where><Eq><FieldRef Name='Codigo' /><Value Type='Number'>" + valor + "</Value></Eq></Where></Query>";

    Saludos!.

    jueves, 21 de marzo de 2013 21:19