es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta CAML en Sharepoint utilizando C# con operaciones IN y EQ.

Soy nuevo en las consultas CAML, y estoy atascado con la opción siguiente. Tengo una lista llamada ABC, con alrededor de 200.000 registros. Quiero recuperar los registros en base a 2 condiciones:

  1. IsDeleted = Verdadero (campo sí/no con valor=verdadero)
  2. Título en (‘200’, ‘201’, ‘202’)
updstring = "<value type='String'>200</value><value type='String'>201</value><value type='String'>202</value>";
camlQuery2.ViewXml = @"<view scope='RecursiveAll'>
                       <query> 
                        <where>
                         <eq>
                          <fieldref name='IsDeleted'></fieldref>
                          <value type='Bool'>1</value>
                         </eq>
                         <and>
                          <in>
                           <fieldref name='Title'></fieldref>
                            <values>" + updstring + @"</values>
                          </in>
                         </and>
                        </where>
                       </query>
                       <viewfields>
                        <fieldref name='Title'></fieldref>
                        <fieldref name='IsDeleted'></fieldref>
                       </viewfields>
                       <rowlimit paged='TRUE'>" + rowLimit2 + @"</rowlimit></view>";

¿Alguna idea de dónde estoy cometiendo un error?

Un saludo,
Ganesh.

Tags:  

Answer

  1. Avatar for davy.ai

    Hola Ganesh,

    Según el fragmento de código que proporcionaste, parece que estás intentando recuperar registros de la lista ABC que están eliminados y tienen un Título igual a 200, 201 o 202.

    La consulta CAML que has escrito parece ser correcta. Sin embargo, hay algunas cosas que puedes intentar para identificar qué podría estar causando el problema:

    1. Verifica si los nombres de las columnas son correctos: Asegúrate de que los nombres de campo ‘IsDeleted’ y ‘Title’ coincidan con los nombres internos de las respectivas columnas en la lista ABC.
    2. Verifica si los valores existen: Asegúrate de que haya registros en la lista donde IsDeleted sea true y los valores de Title coincidan con ‘200’, ‘201’ o ‘202’. Puedes verificar esto ejecutando una consulta de prueba en la lista de SharePoint.

    3. Verifica errores de sintaxis: Asegúrate de que no haya errores de sintaxis en la cadena de consulta.

    4. Verifica tipos de datos incorrectos: Asegúrate de que los tipos de datos utilizados en la consulta CAML coincidan con los tipos de datos de las columnas correspondientes en la lista ABC. Por ejemplo, si la columna ‘IsDeleted’ es de tipo Sí/No, el valor en la consulta CAML debería ser True o False.

    Si ninguno de estos pasos ayuda, por favor comparte el mensaje de error o el comportamiento que estás viendo, y haré todo lo posible para ayudarte más.

    Saludos cordiales,
    [Tu nombre]

Comments are closed.