日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
初學者別看篇:ADO.NET對象

#T#學習了這么多關于編程的知識,在這里為大家簡單的分析一下關于ADO.NET對象吧。幾個ADO.NET對象都擁有一個叫做ExtendedProperties的集合。該屬性就像收集貨物(cargo collection)一樣,可以用來存儲任何類型的用戶信息。DataSet、DataTable和DataColumn就是可以提供該數據成員的類。ADO.NET通過運用 PropertyCollection類封裝的一個哈希表來實現這個ExtendedProperties屬性。你可以用Add方法將數據插入到集合中。 Add方法使用了兩個參數來保存數據——key和value.該方法的原形將參數定義為通用的對象類型,你可以存儲任何類型的信息。然而,在特殊情況下,你應該特別注意那些被保存為擴展屬性的對象的類型,下面我們來深入的研究一下吧。

創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的淄川網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

如果你想將包含擴展屬性的ADO.NET對象串行化到XML,***只用字符串。如果不行,你必須對ADO.NET的內在的serializer的行為采取對策。當ADO.NET將一個DataSet對象保存到XML時,ExtendedProperties集合的內容就被串行化到內存中了,但大概是出于性能的原因,ADO.NET運用了ToString方法,而不是XML serializer來實現串行化。更重要的是,當ADO.NET對象被讀回并復原時,ExtendedProperties集合包含的是對象的字符串表現形式,而不是對象本身。

運用具有BLOB字段的ExecuteXmlReader

用于SQL Server的。NET數據提供者(data provider)使用了數據庫提供的XML擴展名,并提供了一個額外的方法(ExecuteXmlReader)來執(zhí)行查詢。命令對象上的所有的執(zhí)行者(例如ExecuteReader和ExecuteScaler)都采用不同的方法來得到結果集。ExcecuteReader通過一個托管指針(managed cursor)(data reader)來返回數據,而ExecuteScaler返回結果集中的***個值,把它作為一個標量值。ExecuteXmlReader執(zhí)行查詢,并返回已經綁定到一個XmlTextReader對象的基于XML的輸出流。通過這種方式,你就不需要做額外的工作來以XML的方式加工數據了。要實現這一點,查詢字符串必須返回XML數據。對SQL Server來說,當查詢字符串包含一個FOR XML子句時,就可以實現它。盡管這只是一種可能。
 
一個不太為人所知的情況是,要使ExecuteXmlReader工作,讓結果集包含XML數據就足夠了。下面的查詢方法很好,只要列包含XML格式的文本就行:SELECT data FROM table WHERE key=1這個列是個典型的BLOB或ntext字段,其文本顯示為XML.簡要地看看ExecuteXmlReader方法的內部結構會有助于我們的理解。該方法用ExecuteReader來執(zhí)行查詢,并從數據提供者得到一個數據流對象。接下來,它將數據流綁定到XmlTextReader類的一個新創(chuàng)建的實例上,這個實例被返回給調用者。連接一直處于忙碌狀態(tài),直到XML reader停止工作。SQL Server提供者是唯一的提供者,它提供了方法讓我們從一個XML reader直接讀取數據,但這種做法更多的是與提供者有關,而與數據庫性能的關系并不大。Oracle支持XML查詢,但Oracle的數據提供者并不支持XML查詢。相比之下,為OLE DB數據提供者編寫一個ExecuteXmlReader方法并不難(點此下載實例)。
 
不要設法緩存一個DataView

DataSet和DataTable對象是唯一的包含數據的ADO.NET對象。DataView是一個不能串行化的、輕量級的類,它只代表構建在一個表上的視圖(view)。你可以根據一個表達式或行的狀態(tài)來過濾視圖。許多應用程序都需要你管理數據視圖并將它們綁定到數據控件上,如Windows和Web DataGrid控件。一個DataView對象不能緩存數據;它只是緩存了與當前過濾器相匹配的基本的表中的行的索引。緩存索引的順序與當前的排序表達式一致。緩存DataView而不緩存基本的DataTable是不行的。
 
例如,提供分頁(比如通過運用DataGrid控件)的ASP.NET應用程序通常以一個DataView對象結尾,因為它支持排序和過濾。在有些情況下(大多是基于性能的原因),你可能決定要緩存數據源。要緩存的對象不能是DataView(它是你實際綁定的對象)。一個DataView只是一種索引,如果沒有基本的DataTable對象,它是沒有用的。


當前文章:初學者別看篇:ADO.NET對象
文章URL:http://m.5511xx.com/article/djpphsd.html