Frage

In SP2007 / MOSS Ich brauche eine CAML-Abfrage für eine einzige Liste laufen wie folgt:

<Where>
    <Or>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item1.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item4.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item7.aspx</Value>
        </Eq>
    </Or>
</Where>

Das praktische Ergebnis davon wäre, dass ich eine SPListItemCollection der Einzelteile haben, für die ich die URLs hatte.

Allerdings bin ich erhalte eine Fehlermeldung ‚Ein oder mehrere Feldtypen werden nicht ordnungsgemäß installiert. Gehen Sie auf die Liste Einstellungen Seite diese Felder zu löschen. "

Alle Elemente in der Liste sind von der gleichen Art des Inhalts. Der einzige relevante Fehler in den SP-Protokollen zeigt die gleiche Meldung.

Die Antwort nicht dieses spezielle Problem zu lösen, sondern hat am Ende korrekt zu sein (Or hat verschachtelt werden). Das Problem war, dass mein Feld Werttyp sollte FileRef haben.

War es hilfreich?

Lösung

Dieser Fehler ist fast immer, weil Ihre CAML-Abfrage nicht korrekt ist. Haben Sie versucht, es so Formatierung:

<Where>
    <Or>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item1.aspx</Value>
        </Eq>
        <Or>
            <Eq>
                <FieldRef Name='URL' />
                <Value Type='URL'>/path/item4.aspx</Value>
            </Eq>
            <Eq>
                <FieldRef Name='URL' />
                <Value Type='URL'>/path/item7.aspx</Value>
            </Eq>
        </Or>
    </Or>
</Where>

Ich bin mir ziemlich sicher, dass Sie nur zwei Komponenten in einem oder haben können oder Und Zweig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top