国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析VS2005數(shù)據(jù)存取層*

2010-09-09 08:02:32葉文勝滿學(xué)璐
關(guān)鍵詞:表單適配器數(shù)據(jù)源

葉文勝,滿學(xué)璐

(黃岡職業(yè)技術(shù)學(xué)院,湖北黃岡438002)

淺析VS2005數(shù)據(jù)存取層*

葉文勝,滿學(xué)璐

(黃岡職業(yè)技術(shù)學(xué)院,湖北黃岡438002)

對Visual Studio 2005的數(shù)據(jù)存取層進行分析,從而實現(xiàn)在此基礎(chǔ)上進一步編輯和擴展此代碼。Visual Studio 2005中提供了大量的向?qū)Зぉぬ貏e是在生成數(shù)據(jù)存取代碼方面;這些向?qū)Т蟠鬁p少了代碼的編寫量。

數(shù)據(jù)存取層;表單;數(shù)據(jù)控件;向?qū)?數(shù)據(jù)庫;連接;代碼

基于最新的Visual Studio 2005數(shù)據(jù)設(shè)計器,可以通過用戶驅(qū)動的向?qū)韯?chuàng)建代碼。但是,在點擊“Finish”按鈕后得到的代碼中往往包含了比以前版本中更多的抽象內(nèi)容。在此基礎(chǔ)上,只需使用例如表格適配器和類型化的數(shù)據(jù)集等頂層對象,最終得到的卻是一個更簡單、更好的中間層。更重要的是,你可以選擇把這個頂層API連接到自己的數(shù)據(jù)存取層,從而完成一個正規(guī)化多層系統(tǒng)。

在任何情況下,都應(yīng)該避免把大量的ADO.NET相關(guān)的表單代碼插入到ASP.NET頁面和Windows表單事件的code-behind中,應(yīng)堅持使用分層設(shè)計,并使用數(shù)據(jù)傳輸模式和有效的數(shù)據(jù)描述方式。但是,Visual Studio能夠提供數(shù)據(jù)集并自動生成ADO.NET代碼。另外,Visual Studio 2005還能夠為你提供數(shù)據(jù)集和定制對象并能自動生成一個能進行大幅定制的抽象層。

1 構(gòu)建一個數(shù)據(jù)驅(qū)動的Windows表單

建一個基于表單的應(yīng)用程序,它能夠顯示并編輯來自Northwind數(shù)據(jù)庫多個表格的數(shù)據(jù)。表單上有一些數(shù)據(jù)綁定控件,還有幾個數(shù)據(jù)連接器控件。首先要添加BindingNavigator控件以便讓用戶在一個綁定數(shù)據(jù)源記錄中進行導(dǎo)航。這個BindingNavigator控件有一個類似于VCR的用戶接口,它僅負責(zé)從數(shù)據(jù)源選擇一個特定的記錄并使之可應(yīng)用于一個通用的編程接口。這個BindingNavigator控件不會拋出任何異常。綁定源組件的設(shè)計目的主要是為了簡化表單上的控件和綁定數(shù)據(jù)之間的綁定。另外,它還提供了許多其它類型的服務(wù)(如當(dāng)前狀態(tài)管理,改變通知,過濾等)。如前面提及,一個綁定源組件其實是在用戶接口元素和后端數(shù)據(jù)之間添加了一個間接層。你需要把該綁定源組件連接到一個物理數(shù)據(jù)源,然后把表單上的控件綁定到該綁定源。從這里開始,任何與數(shù)據(jù)源相關(guān)的數(shù)據(jù)交互都是通過這個綁定源實現(xiàn)的。典型的操作包括導(dǎo)航、檢索、排序、過濾和更新。實際上,.NET框架2.0中的一個綁定源組件是一個派生自類Binding-Source的類的實例。這種綁定源組件其實就是一個沒有用戶界面的組件,專門設(shè)計用于讓開發(fā)者從Visual Studio 2005內(nèi)部管理綁定對象,并且多數(shù)是以聲明方式實現(xiàn)的。

2 BindingSource類

BindingSource類負責(zé)包裝一個數(shù)據(jù)源并通過自己的對象模型來表示該數(shù)據(jù)源。該基類有很多屬性,讀者可以找相關(guān)資料查閱。值得注意的是, BindingSource對象的設(shè)計目的是既用來管理簡單的數(shù)據(jù)綁定也應(yīng)用于復(fù)雜的數(shù)據(jù)綁定場所。這意味著,它合并了.NET框架1.x中CurrencyManager和PropertyManager的所有功能。為了實現(xiàn)這些功能并且使它們快速而容易地出現(xiàn)在用戶接口級,你可以使用BindingNavigator控件并且把它關(guān)聯(lián)到一個綁定源上。每當(dāng)用戶點擊類似于VCR的按鈕,綁定源上的 Position和Current屬性被更新并且激發(fā)CurrentChanged事件。就象在WindowsForms 1.x時期的數(shù)據(jù)綁定一樣,監(jiān)聽這些事件的控件接收通知并且能夠適當(dāng)更新各自的用戶接口。

3 把數(shù)據(jù)源導(dǎo)入Windows表單應(yīng)用程序

為了把數(shù)據(jù)添加到Windows應(yīng)用程序,你首先要把一個BindingSource組件拖動到你的表單。然后,設(shè)置該組件的DataSource屬性。該組件存在許多可用的數(shù)據(jù)源,包括數(shù)組、集合和定制類型列表。典型情況下,列表都是在集合的基礎(chǔ)上擴展而成的,它們要實現(xiàn)下列任何接口:IBindingList,ITypedList或IListSource。在最開始,你的應(yīng)用程序沒有數(shù)據(jù)源—你必須要為之創(chuàng)建一個。當(dāng)你選擇BindingSource組件的DataSource屬性時,會遇到一個窗口,點擊彈出窗口底部的鏈接,從而啟動一個向?qū)б员惆岩粋€新的數(shù)據(jù)源添加到當(dāng)前工程。

此向?qū)е?Visual Studio 2005會詢問應(yīng)用程序想從哪里得到數(shù)據(jù)。存在三個可能的地方:

數(shù)據(jù)庫,外部Web服務(wù)或定制對象。如果你選擇了Web服務(wù),那么,Visual Studio 2005將打開“Add Web Reference”對話框以便讓你選擇使用一個本地的還是遠程的Web服務(wù)并且創(chuàng)建相應(yīng)的代理類。然后,將由你來檢索數(shù)據(jù)并且把它綁定到控件。同樣,你可以從工程引用的任何程序集內(nèi)選擇一個定制對象。

定制對象集合或Web服務(wù)的創(chuàng)作者負責(zé)設(shè)計并且使用他們喜歡的任何方法來實現(xiàn)對象模型。當(dāng)你選擇該數(shù)據(jù)庫選項時,Visual Studio 2005會為你生成大量的代碼。典型地,你需要添加一個DataSet組件,也即是通過一個XSD文件描述的一組相互關(guān)聯(lián)的表格。這個DataSet組件描述了一個具有一個或多個數(shù)據(jù)表格的內(nèi)存DataSet對象。

4 表格適配器(TableAdapter)

一個表格適配器為一個應(yīng)用程序與它的數(shù)據(jù)庫之間的通信提供支持。例如,一個表格適配器連接到一個數(shù)據(jù)庫并且執(zhí)行命令;任何返回的數(shù)據(jù)被存儲到一個DataTable對象中以備進一步處理??梢允褂靡粋€表格適配器來把更新內(nèi)容發(fā)送回數(shù)據(jù)庫。一個表格適配器是一個工具生成的類的實例。一個表格適配器只是在.NET托管的提供程序內(nèi)定義的適配器類的一個特例。簡言之,它是一個擔(dān)當(dāng)針對特定表格的適配器的包裝器對象。注意,表格適配器沒有基類。從內(nèi)部實現(xiàn)來看,一個表格適配器類合并了一個SqlCommand,SqlConnection和Sql-DataAdapter對象的功能。表格適配器類是用于實現(xiàn)數(shù)據(jù)存取的流行設(shè)計模式中的非常重要的元素之一。借助于CommandCollection屬性,表格適配器類能夠列出在表格上執(zhí)行的所有行為。簡言之,它定義了表格的“行為”。

5 應(yīng)用范例

一個表格適配器為一個應(yīng)用程序與它的數(shù)據(jù)庫之間的通信提供支持。例如,一個表格適配器連接到一個數(shù)據(jù)庫并且執(zhí)行命令;任何返回的數(shù)據(jù)被存儲到一個DataTable對象中以備進一步處理。

一個表格適配器類典型的定義形式如下:

內(nèi)部數(shù)據(jù)適配器是在 InitAdapter方法中初始化的。該方法是從Adapter屬性的get存取器內(nèi)進行調(diào)用的。

6 總結(jié)

Visual Studio 2005提供的數(shù)據(jù)設(shè)計器向?qū)傻拇a基于經(jīng)典的TDG方法進行工作。使用向?qū)У年P(guān)鍵在于真正了解它相對你的需要實現(xiàn)了什么。Visual Studio 2005數(shù)據(jù)設(shè)計器創(chuàng)建了一種結(jié)構(gòu)化的有效的DAL,程序員必須理解它的代碼并著手編輯,但這種模式不適合復(fù)雜的應(yīng)用程序開發(fā)。

[1]John KauffmanBradley.Asp.net 2.0數(shù)據(jù)庫入門經(jīng)典[M].清華大學(xué)出版社,2007.

[2]吳雷.Visual Studio 2005高級編程[M].清華大學(xué)出版社,2008.

[3]魏菊霞.asp.net實踐教程[M].清華大學(xué)出版社,2009.

Analysis Data Access Layer of VS2005

YE Wen-Sheng,MAN Xue-Lu
(Huanggang Polytechnic University,Huanggang438002Hubei)

Analyzing the data access layer of the Visual Studio 2005 in order to achieve further editing and expansion of this code on the above basis.Visual Studio 2005 provides a number of wizards──especially in the generated data access code area,and the wizards significantly reduces the written amount of code.

Data Access Layer;Form;Data Control;Wizard,database;Connection;Code.

TP311.52

A

1672-1047(2010)04-0044-03

10.3969/j.issn.1672-1047.2010.04.12

[責(zé)任審校:秦春娥]

2010-05-27

葉文勝,男,系統(tǒng)分析師。E-mail:ywshgzy@hgpu.edu.cn.

猜你喜歡
表單適配器數(shù)據(jù)源
電子表單系統(tǒng)應(yīng)用分析
華東科技(2021年9期)2021-09-23 02:15:24
淺談網(wǎng)頁制作中表單的教學(xué)
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
適配器模式及其應(yīng)用
電子測試(2017年11期)2017-12-15 08:57:45
新型水文測驗GPS適配器設(shè)計與應(yīng)用
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
美國麥格普公司新型M—LOK相機三腳架適配器
輕兵器(2015年20期)2015-09-10 07:22:44
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實現(xiàn)
古蔺县| 肥城市| 施秉县| 绵竹市| 荣成市| 和静县| 长汀县| 白朗县| 孝义市| 大石桥市| 信阳市| 普宁市| 营山县| 和平区| 长乐市| 清丰县| 聊城市| 博兴县| 宿州市| 霍邱县| 乌海市| 南木林县| 万州区| 革吉县| 祁阳县| 信丰县| 本溪市| 商洛市| 池州市| 惠水县| 砀山县| 屏东县| 广昌县| 苍溪县| 五常市| 蓝田县| 南投市| 和田市| 酒泉市| 新源县| 伊宁县|