Tirpalas: SPQuery neieško aplankus

Praeitą savaitę buvau įgyvendinimo yra "vystosi" sprendimas dėl kliento, kuris naudoja BDC ir SPQuery ir įvažiavo į kai kurių sunkumų naudojant SPQuery nuo dokumentų biblioteką, kurioje aplankus. Bottom line: priskirti "rekursinis" Norėdami Rodyti atributas užklausos.

Mano scenarijus:

  • Pirmadienį, Aš įkelti dokumentą ir pateikti kai kurie meta duomenys.
  • Kitą savaitę, Aš įkelti naują dokumentą. Didžiąją šio naujo dokumento meta duomenys remiasi dokumento nusiunčiau pirmadienį (kurias mes vadiname "pagrindinio dokumento").
  • Mes sukūrėme interneto paslaugų fasadas, kuri suteikia BDC šeimai sąsają į sąrašą, kad vartotojai gali lengvai rasti šio pirmadienio dokumento per pavadinimo paieškos.
  • BDC duomenų stulpelio suteikia draugiška vartotojo sąsaja. (Tai yra dalis mano bandymas naudojant BDC draugiškai peržvalgos stulpeliui).

Galutinis BDC fasado paslauga naudoja užklausą kaip tai daryti peržvalgos:

 // Naudojama U2U priemonė padėti kuriant šį CAML užklausa.
      oQuery.Query =
        "<Tais atvejais, kai>";

      Jei (titleFilter.Length > 0)
        oQuery.Query   =
          "  <Ir>";

      oQuery.Query   =
        "    <Ir>" +
        "      <Geq>" +
        "        <FieldRef pavadinimas =  "DocumentId" />" +
        "        <Vertės tipas =  "Text">" + minId + "</Vertė>" +
        "      </Geq>" +
        "      <Leq>" +
        "        <FieldRef pavadinimas =  "DocumentId" />" +
        "        <Vertės tipas =  "Text">" + maxId + "</Vertė>" +
        "      </Leq>" +
        "    </Ir>";

      Jei (titleFilter.Length > 0)
        oQuery.Query   =
          "    <Yra>" +
          "      <FieldRef pavadinimas =  "Title" />" +
          "      <Vertės tipas =  "Text">" + titleFilter + "</Vertė>" +
          "    </Yra>" +
          "  </Ir>";
      oQuery.Query   =
        "</Tais atvejais, kai>";

Per pradinės vystymosi stadijos, tai veikė puikiai. Tačiau, Mes pristatė aplankus į katalogą, išspręsti kai kurias problemas ir staiga, mano BDC picker nebūtų grąžinti jokių rezultatų. Sekant tai su tuo, kad į SPQuery niekada grįžti jokių rezultatų. Mes naudoja aplankus, visų pirma siekiant kelių failų tuo pačiu vardu į nusiunčiamų bet su skirtingų meta duomenų. Kai failas yra įkeltas, mes sukurti aplanką pagal sąrašo elemento ID ir tada perkelti failą ten (Aš parašė apie tai čia; Mes jau įvairi esant tokiam požiūriui, bet visą, jis veikia gerai). Vartotojo negalvoja apie aplankus ir iš tikrųjų, tikrai nesuprantu, kad nėra jokių aplankų. Mes sukonfigūruotas visuose rodiniuose bibliotekoje rodomi elementai neatsižvelgiant į aplankus.

Aš paspauskite šią problemą du kartus kaip techninis įgyvendinimas išsivystė ir išspręsta ji skirtingai kiekvieną kartą. Pirmą kartą, Aš ne naudojant jame yra operatorius užklausos. Be yra operatoriaus, Man pavyko išspręsti problemą, nurodant vaizdą į SPQuery contructor. Vietoj numatytojo konstruktoriaus:

SPList oList = interneto.Sąrašai["Dokumentai"];

SPQuery oQuery = naujas SPQuery();

Vietoj to aš konstruktorius nurodytas rodinys:

SPList oList = interneto.Sąrašai["Dokumentai"];

SPQuery oQuery = naujas SPQuery(oList.Views["Visus dokumentus"]);

Kad išspręsti šią problemą ir aš pradėjau gauti mano rezultatai.

Dodałem tada jame yra operatorius į mišinį ir ji sugedo vėl. Paaiškėja, kad jame yra operatorius, tiek, kiek aš galiu pasakyti, neveikia su mano taip pat, kaip ir paprastesnis GEQ / LEQ operatoriai. Aš kai paieškos ir sužinojau, kad užklausos ViewAttributes turi būti nustatyta kaip "Grįžtamojo", kaip ir:

oQuery.ViewAttributes = "Taikymo sritis = "Recursive"";

Kad išspręsti šią problemą, yra. tiesą sakant, Tai taip pat išspręsti mano originalus paieškos problema ir jei aš turėjo nurodyti rekursinis priskirti pirmą kartą, Aš būtų ne paleisti į klausimą dar kartą.

Tai, kad view pagrįstas SPQuery veikia kai kurie operatoriai (GEQ/LEQ) o ne kitiems (YRA), kartu su tuo, kad KPI neatrodo, kad darbas ne visą su aplanką, kuriame pateikta dokumentų bibliotekos veda mane manyti, kad SPQuery yra keletas orthogonality klausimų.

Ypatingą padėką:

  • Geri žmonės ne U2U ir jų užklausos įrankį.
  • Michael Hoffer Didžiosios "mokymo programų akreditacija" internetinio dienoraščio skelbiamą pranešimą, komentarus ir atsakymus.

</pabaigos>

Prenumeruoti savo dienoraštį!

3 mintys apie "Tirpalas: SPQuery neieško aplankus

  1. Nr pavadinimas

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

    Atsakyti

palik atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *