Megoldás: SPQuery nem keresési mappák

Ez a múlt héten végrehajtási egy "fejlődő" megoldás az ügyfelek, amelyek a BDC és SPQuery használ, és futott néhány nehézség használ SPQuery ellen egy dokumentumtárat tartalmazó mappák. Alsó sorban: "rekurzív hozzárendelése" a lekérdezés nézet attribútum.

Az én-m forgatókönyv:

  • Hétfőn, Dokumentum feltöltése, és néhány meta-adatokat.
  • A következő héten, Feltölteni egy új dokumentumot. Az új dokumentum meta-adatok alapja a dokumentumon, feltöltött, hétfőn (ahogy mi hívjuk a "dokumentum").
  • Készítettünk egy webes szolgáltatás homlokzat illesztőfelületet biztosító BDC-barát a listát úgy, hogy a felhasználók könnyen elhelyez hétfőn dokumentum keresztül a cím keresés.
  • Az üzleti Adatkatalógus adatoszlop kínál egy barátságos felhasználói felület. (Ez a része az én-m kísérlet az üzleti Adatkatalógus segítségével több barátságos keresőoszlop).

A végső homlokzat adatkatalógusa lekérdezéssel mint ez csinál a keresést:

 // Használt U2U szerszám-hoz támogat a CAML-lekérdezés létrehozásában.
      oQuery.Query =
        "<Ahol>";

      Ha (titleFilter.Length > 0)
        oQuery.Query  = (egyenlőségjel)
          "  <És>";

      oQuery.Query  = (egyenlőségjel)
        "    <És>" +
        "      <Geq>" +
        "        <A FieldRef név =  "DocumentId" />" +
        "        <Típusú érték =  "Text">" + minId + "</Érték>" +
        "      </Geq>" +
        "      <LEQ>" +
        "        <A FieldRef név =  "DocumentId" />" +
        "        <Típusú érték =  "Text">" + maxId + "</Érték>" +
        "      </LEQ>" +
        "    </És>";

      Ha (titleFilter.Length > 0)
        oQuery.Query  = (egyenlőségjel)
          "    <Tartalmaz>" +
          "      <A FieldRef név =  "Title" />" +
          "      <Típusú érték =  "Text">" + titleFilter + "</Érték>" +
          "    </Tartalmaz>" +
          "  </És>";
      oQuery.Query  = (egyenlőségjel)
        "</Ahol>";

A fejlesztés kezdeti szakaszában, Ez munkás nagy. Azonban, mappák be a könyvtár, néhány a problémák megoldására, és hirtelen, az üzleti Adatkatalógus picker nem ad vissza eredményt. Én nyomozó személy ez arra, hogy a SPQuery soha nem térhet vissza a eredmények. Általunk használt mappák elsősorban, hogy több fájlt feltölteni az azonos nevű, de különböző meta-adatok. A fájl feltöltésekor, hozzon létre egy mappát, a listaelem-azonosító alapján, és ott helyezze át a fájlt (Írtam arról, hogy itt; már volt vegyes eredmények Ezzel a megközelítéssel, hanem az egész, Ez jól működik). A felhasználó mappákat, és valójában nem érdekel., nem igazán értem, hogy vannak akármi tartók. A kilátás a könyvtár elemek megjelenítése mappák nélkül van beállítva.

Nyomja meg kétszer, mint a technikai megvalósítás alakult ki, és megoldotta azt másképp minden alkalommal, amikor a probléma. Az első alkalommal, Nem használ tartalmaz szereplő-a lekérdezésben. TARTALMAZ kezelő nélküli, Voltam képes megoldani a problémát a véleménye a SPQuery contructor megadásával. Az alapértelmezett konstruktor használata helyett:

Meg az SPList.Update() oList = webes.Listák["A dokumentumok"];

SPQuery oQuery = új SPQuery();

Ehelyett használtam a kivitelező, hogy megadott nézet:

Meg az SPList.Update() oList = webes.Listák["A dokumentumok"];

SPQuery oQuery = új SPQuery(oList.Views["Valamennyi dokumentumhoz"]);

Ez megoldotta a problémát, és én kezdett-hoz kap az én-m eredmények.

Majd hozzá tartalmaz szereplő, a keverékhez, és eltörte újra. Kiderül, hogy az tartalmaz-üzemeltető, amennyire tudok mondani, nem működik a néző ugyanúgy, mint az egyszerűbb GEQ / Szereplők LEQ. Csináltam néhány keresést, és megtudta, hogy a lekérdezés ViewAttributes kell állítani "Rekurzív", mint a:

oQuery.ViewAttributes = "Hatály = "Recursive"";

Hogy megoldotta a problémát a tartalmaz. valójában, Ez is a problémámat eredeti keresése, és ha én kellett adni a rekurzív attribútuma az első alkalommal, Szeretnék nem kell futtatni a kérdést újra.

Az a tény, hogy egy Kilátás-kiindulópontul szolgáló SPQuery működik, az egyes gazdasági szereplők (GEQ/LEQ) és nem mások (TARTALMAZ), párosul az a tény, hogy a KPI-k úgy tűnik, nem dolgozik egyáltalán a mappát tartalmazó dokumentum könyvtárak vezet elhinni, hogy a SPQuery van néhány orthogonality kérdés.

Külön köszönet:

</vége>

Subscribe to my blog!

3 gondolatok „Megoldás: SPQuery nem keresési mappák

  1. Név nélküli

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

    Válasz

hagyj válaszüzenetet

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *