SharePoint發(fā)行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強(qiáng)大的團(tuán)隊協(xié)作環(huán)境,使得組織能夠在整個組織內(nèi)部實現(xiàn)整合、組織、查找和提供 SharePoint站點。 在SharePoint的企業(yè)應(yīng)用中,遇到復(fù)雜的邏輯的時候,我們會需要多表查詢;SharePoint和Sql數(shù)據(jù)表一樣,也支持多表聯(lián)合查詢,但是不像Sql語句那樣簡單,需要使用SPQuery的Joins屬性來完成。 下面,我們通過一個簡單的例子,為大家演示一下如何使用SPQuery通過查閱項字段來進(jìn)行兩個列表的聯(lián)合查詢。 1、首先創(chuàng)建測試列表,City是城市,然后有一個列表叫做Address,是地址,通過查閱項Location進(jìn)行關(guān)聯(lián),CityID字段是Number類型,這里代表城市的ID號; 創(chuàng)建列表完畢以后,輸入一些簡單的測試數(shù)據(jù),如下圖: 2、測試列表Address,添加一個查閱項字段,特別要說的是,截圖勾選了Title,后來因為查閱項關(guān)聯(lián)的就是Title,我就去掉了,希望不要對后來造成誤會,如下圖: 3、查看創(chuàng)建完畢列表的所有欄,如下圖: 4、看著Location:CityID這樣的名稱不是很舒服,索性點進(jìn)去,改名,如下圖: 5、如下圖,便是我們創(chuàng)建完畢的測試列表,包含簡單的測試數(shù)據(jù): 6、創(chuàng)建一個控制臺程序,引用Microsoft.SharePoint.dll,編寫測試代碼,因為控制臺程序的創(chuàng)建過程非常簡單,這里只貼了核心代碼,如下: ![]() 1 using (SPSite site = new SPSite(SiteUrl)) 2 { 3 using (SPWeb web = site.RootWeb) 4 { 5 SPQuery query = new SPQuery(); 6 //Joins屬性,這里有INNER和LEFT兩種方式連接,均可查詢,而且支持多表連接; 7 query.Joins = " ![]() 7、執(zhí)行控制臺程序,下面是查詢的結(jié)果,如下圖: 到這里,大家可能會有疑問,這樣的查詢,和列表的查詢是一樣的,怎么叫做多列表聯(lián)合查詢呢?下面請繼續(xù),聽我慢慢道來; 8、我們在列表City里多添加一列,名稱暫且叫做Mark,但是不將其作為查閱項關(guān)聯(lián)到Address列表,如下圖: Address列表所有欄屬性,并不包含Mark,如下圖: 9、同時為代碼的ProjectedFields多添加Mark的字段屬性,如下圖: query.ProjectedFields =" 10、同時為顯示屬性加入CustomMark字段,如下圖: query.ViewFields = " 輸出添加CustomMark字段的值,如下: SPFieldLookupValue CustomMark = new SPFieldLookupValue(item["CustomMark"].ToString());Console.WriteLine("CustomMark:" + CustomMark.LookupValue) 11、再次執(zhí)行控制臺程序,并沒有以查閱項關(guān)聯(lián)到Address的Mark字段,也被查詢出來了,也就是我們說的多表聯(lián)合查詢,如下圖: 總 結(jié) 以上內(nèi)容,就是本文的全部內(nèi)容,SharePoint多表查詢,通過查閱項字段進(jìn)行關(guān)聯(lián),然后使用SPQuery的Joins屬性進(jìn)行關(guān)聯(lián)查詢,通過設(shè)置關(guān)聯(lián)的字段和需要顯示的字段來設(shè)置顯示,完成關(guān)聯(lián)查詢。 本例是使用列表City和Address進(jìn)行關(guān)聯(lián)查詢,查詢Address列表通過查閱項關(guān)聯(lián)查詢City列表;列表結(jié)構(gòu)附后,好了,就到這里吧,希望本文能夠帶給需要的人以幫助,謝謝! 附:列表結(jié)構(gòu) 列表一:City 字段:Title(默認(rèn)字段,單行文本,作為Address關(guān)聯(lián)的查閱項) CityID(數(shù)字類型,作為Address關(guān)聯(lián)的查閱項) Mark(單行文本,作為多表查詢的測試字段) 列表二:Address 字段:Title(默認(rèn)) Location(查閱項,關(guān)聯(lián)City列表的Title) CustomCityID(查閱項,關(guān)聯(lián)City列表的CityID) Sharepoint 可以幫助企業(yè)用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請收藏一下本站!