新聞中心
我們應(yīng)該怎么運(yùn)用Find來讀取一個(gè)記錄,在網(wǎng)上收集了一些資料,現(xiàn)在我們一起來解決這個(gè)問題吧。通過運(yùn)用ADO.NET Select方法來運(yùn)行一個(gè)內(nèi)存中的查詢,或在視圖上設(shè)置一個(gè)過濾器來濾掉與指定標(biāo)準(zhǔn)不匹配的所有的記錄,你就可以讀取一個(gè)DataTable對象中的一個(gè)特定的行了。你可以通過設(shè)置DataView類上的RowFilter屬性來設(shè)置一個(gè)過濾器。這兩種方法都運(yùn)用相同的引擎來選擇記錄。它們可以接納一個(gè)表達(dá)式,對它進(jìn)行解析并求各個(gè)子句的值。

專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)站制作,高端網(wǎng)站制作設(shè)計(jì),重慶小程序開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠服務(wù),采用H5網(wǎng)站設(shè)計(jì)+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè)公司,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
#T#ADO.NET Select方法返回一個(gè)帶有所有相匹配的DataRow對象的數(shù)組。RowFilter屬性重建DataView的內(nèi)部索引來包含所有的(且僅包含)匹配的記錄。然后,應(yīng)用程序就可以訪問記錄了。這兩種方法在性能上幾乎是一樣的;運(yùn)用哪種方法取決于環(huán)境和個(gè)人喜好。例如,如果你用的是數(shù)據(jù)綁定的控件,如一個(gè)DataGrid或DataList,那么RowFilter就很理想。如果你必須處理一串記錄,那么ADO.NET Select方法就更好了。
然而,你還可以用另一種方法(仍然是基于DataView的),它是讀取一個(gè)表中的記錄的最快的方法。該方法就是用Find:
- DimviewAsDataView
- view=NewDataView(table)
- view.Sort="orderid"
- DimindexAsInteger=view.Find(10248)
- DimrowAsDataRow=view(index).Row
Find方法運(yùn)用了視圖的當(dāng)前索引,并將指定的值(或多個(gè)值)與形成當(dāng)前索引的字段匹配起來。在前面的代碼中,值10248與列orderid匹配。如果Sort屬性為空,且DataTable對象有一個(gè)主鍵,那么就運(yùn)用主鍵中的列。Find方法返回的是相匹配的***行的基于0的位置的值。
果你想返回多個(gè)記錄,可以用FindRows的演變形式:
- view.Sort="orderid,discount"
- Dimkeys(1)AsObject
- keys(0)=10248
- keys(1)=0
- DimrowAsDataRow=_
- view(view.Find(keys)).Row
前面的代碼可以讓你通過運(yùn)用Find的重載方法(帶有一組對象)來匹配多個(gè)列的值。
當(dāng)前標(biāo)題:深入淺析ADO.NETSelect方法
分享路徑:http://m.fisionsoft.com.cn/article/cddgjhh.html


咨詢
建站咨詢
