This past week I was implementing an "evolving" solution for a client that uses BDC and SPQuery and ran into some difficulty using SPQuery against a document library containing folders. નીચે લીટી: assign "recursive" ક્વેરી દેખાવ લક્ષણ માટે.
મારી દૃશ્ય:
- સોમવાર, હું એક દસ્તાવેજ અપલોડ અને કેટલાક મેટા માહિતી પૂરી પાડવા.
- નીચેના સપ્તાહ, I upload a new document. Much of this new document’s meta data is based on the document I uploaded on Monday (which we call the "master document").
- વપરાશકર્તાઓ સરળતાથી એક શીર્ષક શોધ મારફતે સોમવાર દસ્તાવેજ કરી શકાય છે કે જેથી અમે યાદી માટે BDC મૈત્રીપૂર્ણ ઈન્ટરફેસ પૂરું પાડે છે કે જે વેબ સેવાનો અગ્રભાગે બનાવેલ.
- A BDC data column provides a friendly user interface. (આ વધુ મૈત્રીપૂર્ણ લુકઅપ સ્તંભ માટે BDC મદદથી મારા પ્રયાસ ભાગ છે).
અંતિમ BDC અગ્રભાગે સેવા લૂકઅપ કરવા માટે આ જેમ એક ક્વેરી વાપરે છે:
// આ CAML ક્વેરી પેદા કરવામાં મદદ કરવા માટે વપરાયેલ U2U ટૂલ. oQuery.Query = "<ક્યાં>"; જો (titleFilter.Length > 0) oQuery.Query = " <અને>"; oQuery.Query = " <અને>" + " <Geq>" + " <FieldRef Name=\"DocumentId\" />" + " <Value Type=\"Text\">" + minId + "</કિંમત>" + " </Geq>" + " <Leq>" + " <FieldRef Name=\"DocumentId\" />" + " <Value Type=\"Text\">" + maxId + "</કિંમત>" + " </Leq>" + " </અને>"; જો (titleFilter.Length > 0) oQuery.Query = " <પડે>" + " <FieldRef Name=\"Title\" />" + " <Value Type=\"Text\">" + titleFilter + "</કિંમત>" + " </પડે>" + " </અને>"; oQuery.Query = "</ક્યાં>";
વિકાસ પ્રારંભિક તબક્કા દરમિયાન, this worked great. તેમ છતાં, અમે અચાનક કેટલીક સમસ્યાઓ ઉકેલવા અને ડિરેક્ટરી માં ફોલ્ડર્સ પરિચય, my BDC picker wouldn’t return any results. I tracked this down to the fact that the SPQuery would never return any results. We used folders primarily to allow multiple files with the same name to be uploaded but with different meta data. When the file is uploaded, અમે યાદી આઇટમની ID પર આધારિત એક ફોલ્ડર બનાવો અને પછી ત્યાં ફાઈલ ખસેડી (હું તે વિશે લખ્યું હતું અહીં; અમે હતી કર્યું મિશ્ર પરિણામો આ અભિગમ સાથે પરંતુ સમગ્ર પર, તે સારી રીતે કામ કરી રહ્યા છે). The user don’t care about folders and in fact, don’t really understand that there are any folders. We have configured all the views on the library to show items without regard to folders.
I hit this problem twice as the technical implementation evolved and solved it differently each time. The first time, I wasn’t using the CONTAINS operator in the query. Without a CONTAINS operator, I was able to solve the problem by specifying the view on the SPQuery’s contructor. Instead of using the default constructor:
SPList oList = web.Lists["Documents"];
SPQuery oQuery = નવું SPQuery();
હું તેના બદલે એક દૃશ્ય સ્પષ્ટ કે બાંધનાર ઉપયોગ:
SPList oList = web.Lists["Documents"];
SPQuery oQuery = નવું SPQuery(oList.Views["All Documents"]);
કે સમસ્યા હલ હું અને મારા પરિણામો મેળવવા માટે શરૂ.
I then added the CONTAINS operator into the mix and it broke again. It turns out that the CONTAINS operator, અત્યાર સુધી હું કહી શકો છો, એક સરળ GEQ તરીકે દેખાવ સાથે જ રીતે કામ કરતું નથી / LEQ operators. I did some searching and learned that the query’s ViewAttributes should be set to "Recursive", તરીકે:
oQuery.ViewAttributes = "Scope=\"Recursive\"";
That solved the problem for CONTAINS. હકીકતમાં, આ પણ મારી મૂળ શોધ સમસ્યા હલ અને હું પૂનરાવર્તિત લક્ષણ પ્રથમ વખત સ્પષ્ટ કર્યું હોત તો, હું ફરીથી આ મુદ્દો માં આઉટ ન હોત.
એક દૃશ્ય આધારિત SPQuery કેટલાક ઓપરેટરો માટે કામ કરે છે એ હકીકત છે કે (GEQ / leq) નથી અને અન્ય (પડે), KPIs ફોલ્ડર ધરાવતા દસ્તાવેજ પુસ્તકાલયો સાથે બધા કામ લાગતું નથી તે હકીકત સાથે જોડાયેલી મને કે SPQuery કેટલાક orthogonality મુદ્દાઓ છે માને તરફ દોરી જાય છે.
ખાસ આભાર:
- અંતે સારા જાણતા U2U અને તેમના ક્વેરી ટૂલ.
- માઈકલ Hoffer માતાનો મહાન "પટે આપી શકાય તેવું" બ્લૉગ પોસ્ટ, ટિપ્પણીઓ અને પ્રતિસાદો.
</અંત>
મારા બ્લોગ પર સબ્સ્ક્રાઇબ કરો!
http://www.batteryfast.co.uk/asus/w3v.htm asus w3v battery,
http://www.batteryfast.co.uk/asus/w3000a.htm asus w3000a battery,
http://www.batteryfast.co.uk/asus/w3000.htm asus w3000 battery,
http://www.batteryfast.co.uk/asus/w3000v.htm asus w3000v battery,
http://www.batteryfast.co.uk/asus/a31-s5.htm asus a31-s5 battery,
http://www.batteryfast.co.uk/asus/a32-s5.htm asus a32-s5 battery,
http://www.batteryfast.co.uk/asus/s52n.htm asus s52n battery,
http://www.batteryfast.co.uk/asus/s5000.htm asus s5000 battery,
http://www.batteryfast.co.uk/asus/s5200n.htm asus s5200n battery,
http://www.batteryfast.co.uk/asus/s5n.htm asus s5n battery,
http://www.batteryfast.co.uk/asus/90-naa1b1000.htm asus 90-naa1b1000 battery,
http://www.batteryfast.co.uk/asus/s2691061.htm asus s2691061 battery,
http://www.batteryfast.co.uk/asus/a42-v6.htm asus a42-v6 battery,
http://www.batteryfast.co.uk/asus/a32-u5.htm asus a32-u5 battery,
http://www.batteryfast.co.uk/asus/u5f.htm asus u5f battery,
http://www.batteryfast.co.uk/asus/u5a.htm asus u5a battery,
http://www.batteryfast.co.uk/asus/u5f.htm asus u5f battery,
http://www.batteryfast.co.uk/asus/u5.htm asus u5 battery,
http://www.batteryfast.co.uk/compaq/nw8000.htm compaq nw8000 battery,
http://www.batteryfast.co.uk/compaq/nc8000.htm compaq nc8000 battery,
http://www.batteryfast.co.uk/compaq/v1000.htm compaq v1000 battery,
http://www.batteryfast.co.uk/compaq/nc6000.htm compaq nc6000 battery,
http://www.batteryfast.co.uk/compaq/nx5000.htm compaq nx5000 battery,
http://www.batteryfast.co.uk/compaq/n600.htm compaq n600 battery,
http://www.batteryfast.co.uk/compaq/n600c.htm compaq n600c battery,
http://www.batteryfast.co.uk/compaq/n610c.htm compaq n610c battery,
http://www.batteryfast.co.uk/compaq/n610v.htm compaq n610v battery,
http://www.batteryfast.co.uk/compaq/n620c.htm compaq n620c battery,
http://www.batteryfast.co.uk/compaq/e500.htm compaq e500 battery,
http://www.batteryfast.co.uk/compaq/e500s.htm compaq e500s battery,
http://www.batteryfast.co.uk/compaq/v300.htm compaq v300 battery,
http://www.batteryfast.co.uk/compaq/v500.htm compaq v500 battery,
http://www.batteryfast.co.uk/compaq/pp2060.htm compaq pp2060 battery,
http://www.batteryfast.co.uk/compaq/nx9000.htm compaq nx9000 battery,
http://www.batteryfast.co.uk/compaq/nx9005.htm compaq nx9005 battery,
http://www.batteryfast.co.uk/compaq/nx9010.htm compaq nx9010 battery,
http://www.batteryfast.co.uk/compaq/nx9020.htm compaq nx9020 battery,
http://www.batteryfast.co.uk/compaq/n110.htm compaq n110 battery,
http://www.batteryfast.co.uk/compaq/n110s.htm compaq n110s battery,
http://www.batteryfast.co.uk/compaq/pp2101x.htm compaq pp2101x battery,
http://www.batteryfast.co.uk/compaq/presario-2100.htm compaq presario 2100 બેટરી,
http://www.batteryfast.co.uk/compaq/ze4000.htm compaq ze4000 battery,
http://www.batteryfast.co.uk/compaq/f4809a.htm compaq f4809a battery,
http://www.batteryfast.co.uk/compaq/f4812a.htm compaq f4812a battery,
http://www.batteryfast.co.uk/dell/inspiron-700m.htm dell inspiron 700m battery,
http://www.batteryfast.co.uk/dell/inspiron-710m.htm dell inspiron 710m battery,
http://www.batteryfast.co.uk/dell/latitude-x200.htm dell latitude x200 battery,
http://www.batteryfast.co.uk/dell/8u443.htm dell 8u443 battery,
http://www.batteryfast.co.uk/dell/312-0058.htm ઝાડપાનથી ઘેરાયેલી નાની ખીણ 312-0058 બેટરી,
You do know that StringBuilder is best practice for creating long strings, અધિકાર?