Lahus: SPQuery Otsi kaustadest

Möödunud nädalal olin rakendamise on "arenev" lahendus kliendiga, mis kasutab BDC ja SPQuery ning sattus raskusi, kasutades SPQuery vastu kaustu sisaldav dokumenditeek. Alumine rida: määrata "rekursiivne" et päring Kuva atribuut.

Minu stsenaarium:

  • Esmaspäeval, Laadi dokument üles ja annab mõned meta andmeid.
  • Järgmine nädal, Lataan uue dokumendi. Suur selle uue dokumendi metaandmed põhineb olen saatnud esmaspäeval dokumendi (mida me nimetame "põhidokumendi").
  • Oleme loonud web service fassaadi, mis pakub BDC kasutajaliides loendisse nii, et kasutajatel on lihtne leida – esmaspäev dokumendi pealkiri otsing kaudu.
  • BDC andmeveeru pakub kasutajasõbralik liides. (See on osa minu katse abil BDC sõbralik otsinguveerg).

Lõplik BDC fassaadi teenus kasutab sellist päringut teha otsingu:

 // Kasutada U2U vahend teeniva CAML päringut.
      oQuery.Query =
        "<Kui>";

      Kui (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Ja>";

      oQuery.Query  =
        "    <Ja>" +
        "      <≥>" +
        "        <FieldRef nimi =  "DocumentId" />" +
        "        <Value Type =  "Text">" + minId + "</Väärtus>" +
        "      </≥>" +
        "      <LEQ>" +
        "        <FieldRef nimi =  "DocumentId" />" +
        "        <Value Type =  "Text">" + maxId + "</Väärtus>" +
        "      </LEQ>" +
        "    </Ja>";

      Kui (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Sisaldab>" +
          "      <FieldRef nimi =  "Title" />" +
          "      <Value Type =  "Text">" + titleFilter + "</Väärtus>" +
          "    </Sisaldab>" +
          "  </Ja>";
      oQuery.Query  =
        "</Kui>";

Ajal arengu algfaasis, See töötas suurepäraselt. Aga, jagasime kaustad kausta mõne probleemi ja äkki, BDC valija ei tagastanud ühtegi tulemit. I jälitatud sellega, et selle SPQuery ei tagastanud ühtegi tulemit. Me kasutasime kaustad peamiselt lubada mitme faili üleslaadimist sama nimega, kuid erineva metaandmed. Kuna faili üleslaadimisel, me luua loendi kirje ID-l põhinev kausta ja seejärel Teisaldage fail seal (Ma kirjutasin, et Siin; Meil on olnud erinevaid tulemusi Sellise lähenemisega aga kogu, See toimib hästi). Kasutaja ei hooli umbes kaustad ja tegelikult, tõesti ei mõista, et on olemas muid kaustu. Olete seadistanud kõik vaated teegi üksuste kuvamiseks ilma arvesse kaustad.

Ma tabanud kaks korda tehnilise rakendamist kujunenud ja lahendatud see teistmoodi allosani probleemi. Esimest korda, Ma ei olnud määratud tehtemärgi sisaldab päringu. Ilma et see sisaldab operaator, Ma ei suutnud probleemi lahendada, määrates selle SPQuery contructor vaade. Vaikekonstruktor kasutamise asemel:

SPList oList = veebi.Nimekirjad["Dokumendid"];

SPQuery oQuery = Uus SPQuery();

Ma kasutasin hoopis määratud vaade ehitaja:

SPList oList = veebi.Nimekirjad["Dokumendid"];

SPQuery oQuery = Uus SPQuery(oList.Views["Kõik dokumendid"]);

Probleem kadus ja hakkasin mu tulemused.

Lisasin siis sisaldab käitaja Mix ja see murdis uuesti. Tuleb välja, mis sisaldab korraldaja, kui ma saan öelda, töötama selleks, nagu ka lihtsamad ≥ / LEQ operaatorid. Ma tegin mõned otsimise ja õppinud, et päringu ViewAttributes seadma "Rekursiivne", nagu ka:

oQuery.ViewAttributes = "Reguleerimisala = "Recursive"";

Et lahendada probleemi sisaldab. Tegelikult, see lahendatud minu algse otsing probleem ja kui mul oli määratud on rekursiivne omistada esimest korda, Ma oleks mitte on sattunud küsimus uuesti.

Asjaolu, et vaade SPQuery töötab mõned operaatorid (≥/LEQ) ja teised mitte (SISALDAB), koos asjaoluga, et KPI-d ei tundu tööta üldse kausta sisaldava dokumendi raamatukogud toob mind uskuma, et SPQuery on mõned orthogonality probleemid.

Eriline tänu:

  • Hea folks at U2U ja oma päringu tööriista.
  • Michael Hoffer suur "Õppimine läbi tegevuse" blogi postitus, kommentaare ja vastuseid.

</lõpp>

Telli minu blogi!

3 mõtteid "Lahus: SPQuery Otsi kaustadest

  1. Nime pole

    http://www.batteryfast.co.uk/asus/w3v.htm Asus w3v aku,
    http://www.batteryfast.co.uk/asus/w3000a.htm Asus w3000a aku,
    http://www.batteryfast.co.uk/asus/w3000.htm Asus w3000 aku,
    http://www.batteryfast.co.uk/asus/w3000v.htm Asus w3000v aku,
    http://www.batteryfast.co.uk/asus/a31-s5.htm Asus a31-s5 aku,
    http://www.batteryfast.co.uk/asus/a32-s5.htm Asus a32-s5 aku,
    http://www.batteryfast.co.uk/asus/s52n.htm Asus s52n aku,
    http://www.batteryfast.co.uk/asus/s5000.htm Asus s5000 aku,
    http://www.batteryfast.co.uk/asus/s5200n.htm Asus s5200n aku,
    http://www.batteryfast.co.uk/asus/s5n.htm Asus s5n aku,
    http://www.batteryfast.co.uk/asus/90-naa1b1000.htm Asus 90-naa1b1000 aku,
    http://www.batteryfast.co.uk/asus/s2691061.htm Asus s2691061 aku,
    http://www.batteryfast.co.uk/asus/a42-v6.htm Asus a42-v6 aku,
    http://www.batteryfast.co.uk/asus/a32-u5.htm Asus a32-u5 aku,
    http://www.batteryfast.co.uk/asus/u5f.htm Asus u5f aku,
    http://www.batteryfast.co.uk/asus/u5a.htm Asus u5a aku,
    http://www.batteryfast.co.uk/asus/u5f.htm Asus u5f aku,
    http://www.batteryfast.co.uk/asus/u5.htm Asus u5 aku,
    http://www.batteryfast.co.uk/compaq/nw8000.htm Compaq nw8000 aku,
    http://www.batteryfast.co.uk/compaq/nc8000.htm Compaq nc8000 aku,
    http://www.batteryfast.co.uk/compaq/v1000.htm Compaq v1000 aku,
    http://www.batteryfast.co.uk/compaq/nc6000.htm Compaq nc6000 aku,
    http://www.batteryfast.co.uk/compaq/nx5000.htm Compaq nx5000 aku,
    http://www.batteryfast.co.uk/compaq/n600.htm Compaq n600 aku,
    http://www.batteryfast.co.uk/compaq/n600c.htm Compaq n600c aku,
    http://www.batteryfast.co.uk/compaq/n610c.htm Compaq n610c aku,
    http://www.batteryfast.co.uk/compaq/n610v.htm Compaq n610v aku,
    http://www.batteryfast.co.uk/compaq/n620c.htm Compaq n620c aku,
    http://www.batteryfast.co.uk/compaq/e500.htm Compaq e500 aku,
    http://www.batteryfast.co.uk/compaq/e500s.htm Compaq e500s aku,
    http://www.batteryfast.co.uk/compaq/v300.htm Compaq v300 aku,
    http://www.batteryfast.co.uk/compaq/v500.htm Compaq v500 aku,
    http://www.batteryfast.co.uk/compaq/pp2060.htm Compaq pp2060 aku,
    http://www.batteryfast.co.uk/compaq/nx9000.htm Compaq nx9000 aku,
    http://www.batteryfast.co.uk/compaq/nx9005.htm Compaq nx9005 aku,
    http://www.batteryfast.co.uk/compaq/nx9010.htm Compaq nx9010 aku,
    http://www.batteryfast.co.uk/compaq/nx9020.htm Compaq nx9020 aku,
    http://www.batteryfast.co.uk/compaq/n110.htm Compaq n110 aku,
    http://www.batteryfast.co.uk/compaq/n110s.htm Compaq n110s aku,
    http://www.batteryfast.co.uk/compaq/pp2101x.htm Compaq pp2101x aku,
    http://www.batteryfast.co.uk/compaq/presario-2100.htm Compaq presario 2100 aku,
    http://www.batteryfast.co.uk/compaq/ze4000.htm Compaq ze4000 aku,
    http://www.batteryfast.co.uk/compaq/f4809a.htm Compaq f4809a aku,
    http://www.batteryfast.co.uk/compaq/f4812a.htm Compaq f4812a aku,
    http://www.batteryfast.co.uk/dell/inspiron-700m.htm Dell inspiron 700m aku,
    http://www.batteryfast.co.uk/dell/inspiron-710m.htm Dell inspiron 710m aku,
    http://www.batteryfast.co.uk/dell/latitude-x200.htm Dell latitude x 200 aku,
    http://www.batteryfast.co.uk/dell/8u443.htm Dell 8u443 aku,
    http://www.batteryfast.co.uk/dell/312-0058.htm Dell 312-0058 aku,

    Vastus

Jäta Vasta Paul Galvin Tühista vastus

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on tähistatud *