版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE6運(yùn)用ADO.NET數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)優(yōu)化中學(xué)機(jī)房管理系統(tǒng)【摘要】ADO.NET是一個(gè)廣泛的用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢?lèi)庫(kù),是在.NET環(huán)境中優(yōu)先使用的數(shù)據(jù)訪(fǎng)問(wèn)接口。針對(duì)以互聯(lián)網(wǎng)為基礎(chǔ)的計(jì)算機(jī)機(jī)房管理系統(tǒng),目前已經(jīng)存在著多種開(kāi)發(fā)技術(shù)手段。傳統(tǒng)的服務(wù)器終端管理系統(tǒng)已經(jīng)不能滿(mǎn)足于當(dāng)今技術(shù)發(fā)展的需要,我們需要更加健壯,跨平臺(tái),并融合多媒體的新的管理系統(tǒng)?!娟P(guān)鍵詞】ADO.NET數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)中學(xué)機(jī)房管理運(yùn)用優(yōu)化在科技飛速發(fā)展的今天,互聯(lián)網(wǎng)通信技術(shù)已經(jīng)在各行各業(yè)得到了廣泛的應(yīng)用。為了適應(yīng)學(xué)?,F(xiàn)代化教學(xué)的需要,機(jī)房已經(jīng)成為了學(xué)校不可或缺的設(shè)施,計(jì)算機(jī)機(jī)房管理系統(tǒng)也由傳統(tǒng)的手工管理逐步轉(zhuǎn)變?yōu)橛?jì)算機(jī)自動(dòng)化管理的方式。傳統(tǒng)的手工管理存在著管理效率低,管理成本高,管理人員多等諸多問(wèn)題,在轉(zhuǎn)變?yōu)橛?jì)算機(jī)自動(dòng)化管理系統(tǒng)后,不僅滿(mǎn)足了當(dāng)今社會(huì)學(xué)?,F(xiàn)代化教學(xué)發(fā)展的需要,而且提高了學(xué)校的教學(xué)質(zhì)量和管理水平。針對(duì)以互聯(lián)網(wǎng)為基礎(chǔ)的計(jì)算機(jī)機(jī)房管理系統(tǒng),目前已經(jīng)存在著多種開(kāi)發(fā)技術(shù)手段。傳統(tǒng)的服務(wù)器終端管理系統(tǒng)已經(jīng)不能滿(mǎn)足于當(dāng)今技術(shù)發(fā)展的需要,我們需要更加健壯,跨平臺(tái),并融合多媒體的新的管理系統(tǒng)。Web2.0技術(shù)的產(chǎn)生與發(fā)展,將我們帶入了互聯(lián)網(wǎng)發(fā)展的新時(shí)代,要求計(jì)算機(jī)軟件即是服務(wù)的理念使得越來(lái)越多的管理系統(tǒng)開(kāi)始以基于互聯(lián)網(wǎng)技術(shù)來(lái)開(kāi)發(fā)。ADO.NET是一個(gè)廣泛的用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢?lèi)庫(kù),是在.NET環(huán)境中優(yōu)先使用的數(shù)據(jù)訪(fǎng)問(wèn)接口。ADO.NET起源于ADO(ActiveXDataObjects),ADO模型主要是為客戶(hù)機(jī)/服務(wù)器數(shù)據(jù)的訪(fǎng)問(wèn)來(lái)設(shè)計(jì)的,但是由于先進(jìn)Web的分布式訪(fǎng)問(wèn)環(huán)境,ADO的功能相對(duì)于比較繁瑣。因此,ADO.NET應(yīng)運(yùn)而生,在.NET的架構(gòu)環(huán)境中ADO.NET進(jìn)行了重新的設(shè)計(jì)和擴(kuò)展,充分的滿(mǎn)足了分布式訪(fǎng)問(wèn)環(huán)境下的需要。ADO.NET能夠訪(fǎng)問(wèn)多種數(shù)據(jù)庫(kù),它可以讓開(kāi)發(fā)人員通過(guò)一致的方式來(lái)存取資料類(lèi)型(例如XML和SQLServer)。并且可以將管理的資料存取分為不連續(xù)的單位元件,應(yīng)用程序通過(guò)使用ADO.NET來(lái)連接這些元件,并且通過(guò)命令來(lái)處理其中所含的資料。這些元件也可以分開(kāi)的單獨(dú)使用,或者串聯(lián)使用,處理的結(jié)果放入ADO.NET的DataSet中以便于發(fā)布給使用者,在各層之間傳遞。ADO.NET支持任何.NET語(yǔ)言的訪(fǎng)問(wèn),支持程序也更加簡(jiǎn)單,并且采用離線(xiàn)的存取模式,提供更為直接的方法,讓開(kāi)發(fā)人員在.NETFramework中進(jìn)行資料存取。ADO.NET的結(jié)構(gòu)ADO.NET結(jié)構(gòu)中用于存取和管理資料的兩個(gè)核心的組件主要是:DataSet和.NETFramework數(shù)據(jù)提供程序。DataSet作為ADO.NET的斷開(kāi)式結(jié)構(gòu)的核心組件,用于實(shí)現(xiàn)獨(dú)立數(shù)據(jù)源的數(shù)據(jù)訪(fǎng)問(wèn),并且可以與多個(gè)不同的資料來(lái)源進(jìn)行搭配使用。DataSet包含一個(gè)或多個(gè)由資料列和資料行所組成的DataTable物件集合,這些對(duì)象由主索引鍵,外部索引鍵,條件約束和有關(guān)DataTable對(duì)象中數(shù)據(jù)的關(guān)系信息組成。.NetFramework數(shù)據(jù)提供程序,提供了四種對(duì)象來(lái)進(jìn)行管理資料以及快速的實(shí)現(xiàn)對(duì)順向只讀資料的數(shù)據(jù)操作和數(shù)據(jù)訪(fǎng)問(wèn),包括:Connection對(duì)象,Command對(duì)象,DataReader對(duì)象和DataAdapter對(duì)象。接下來(lái)將詳細(xì)的講述這四種對(duì)象的內(nèi)容,對(duì)象之間的層次關(guān)系如圖1所示。(一)Connection對(duì)象Connection對(duì)象提供應(yīng)用程序與數(shù)據(jù)庫(kù)之間的連接,和數(shù)據(jù)庫(kù)進(jìn)行交互??梢酝ㄟ^(guò)Connection對(duì)象的各種不同屬性指定所需數(shù)據(jù)源的類(lèi)型,位置等屬性,指示數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)名稱(chēng),用戶(hù)名和密碼,以及和數(shù)據(jù)庫(kù)連接所需的其他參數(shù),從而建立應(yīng)用程序與數(shù)據(jù)庫(kù)之間的連接或斷開(kāi)連接。連接的對(duì)象連接的對(duì)象斷開(kāi)連接的對(duì)象ConnectionTransactionDataAdapterCommandParameterDataReaderDataSetDataTableDataViewDataRowDataColumnConstraintDataRelation圖1ADO.NET對(duì)象層次關(guān)系結(jié)構(gòu)圖(二)Command對(duì)象在與數(shù)據(jù)庫(kù)連接交互的過(guò)程中,Command使用Connection對(duì)象就能夠知道所訪(fǎng)問(wèn)的數(shù)據(jù)源的位置信息并執(zhí)行操作。Command對(duì)象能夠訪(fǎng)問(wèn)用于執(zhí)行數(shù)據(jù)的查詢(xún),修改,插入,刪除等命令,運(yùn)行存儲(chǔ)過(guò)程,以及發(fā)送或者檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令,從而對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢(xún)操作,以及調(diào)用存儲(chǔ)過(guò)程,并且調(diào)用或者返回表中內(nèi)容的直接請(qǐng)求。開(kāi)發(fā)人員可以單獨(dú)的使用Command對(duì)象來(lái)執(zhí)行命令,也可以將保存了一組操作數(shù)據(jù)命令Command對(duì)象的引用傳遞給DataAdapter。(三)DataReader對(duì)象DataReader對(duì)象從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流,允許開(kāi)發(fā)人員獲得Command對(duì)象命令執(zhí)行得到的結(jié)果??紤]到性能的差別,可以選用DataSet或者DataReader獲取訪(fǎng)問(wèn)的數(shù)據(jù)。DataReader要求只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù),且適用于只讀取一次的數(shù)據(jù)。而當(dāng)要多次訪(fǎng)問(wèn)同一個(gè)數(shù)據(jù)的時(shí)候,應(yīng)該采用DataSet。使用DataReader對(duì)象還可以提供高性能的應(yīng)用程序,減少系統(tǒng)的開(kāi)銷(xiāo)。(四)DataAdapter對(duì)象DataAdapter對(duì)象是一種連接DataSet對(duì)象和數(shù)據(jù)源之間的紐帶,它充當(dāng)了數(shù)據(jù)庫(kù)與對(duì)象模型中斷開(kāi)連接的對(duì)象之間橋梁。使用Command對(duì)象在數(shù)據(jù)源中執(zhí)行訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的命令,將數(shù)據(jù)放入DataSet中,并使DataSet中的數(shù)據(jù)修改與數(shù)據(jù)源保持一致,而且還能夠讀取緩存的更改并將結(jié)果發(fā)送給數(shù)據(jù)庫(kù)。開(kāi)發(fā)人員通過(guò)使用DataAdapter對(duì)象完成在內(nèi)存中緩存數(shù)據(jù),并且不需要改變底層的數(shù)據(jù)源,從而減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)。通過(guò)為DataSet中的每一個(gè)表定義DataAdapter,來(lái)實(shí)現(xiàn)照顧所有與數(shù)據(jù)庫(kù)的連接。DataAdapter對(duì)象包含對(duì)數(shù)據(jù)的選擇,插入,更新和刪除操作的Command對(duì)象引用,還包括對(duì)連接對(duì)象以及對(duì)數(shù)據(jù)庫(kù)操作時(shí)的應(yīng)用。開(kāi)放人員只需要告訴DataAdapter在什么時(shí)候?qū)?shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)。(五)DataTable對(duì)象DataTable是ADO.NET中的一個(gè)數(shù)據(jù)網(wǎng)絡(luò)控件,用來(lái)搭配VB或是ASP使用,它無(wú)需代碼就可以以非常簡(jiǎn)單風(fēng)格的用戶(hù)界面與數(shù)據(jù)庫(kù)綁定。ADO.NET的數(shù)據(jù)訪(fǎng)問(wèn)流程ADO.NET有兩種與數(shù)據(jù)庫(kù)連接的方式:(一)直接與數(shù)據(jù)庫(kù)連接,通過(guò)使用Command對(duì)象訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。這種方式通過(guò)采用DataReader對(duì)象讀取數(shù)據(jù),然后使用Response.Writer來(lái)顯示讀取的數(shù)據(jù)。這種方式的使用不僅不占用額外的內(nèi)存開(kāi)銷(xiāo),而且讀取數(shù)據(jù)的速度非常快。(二)間接與數(shù)據(jù)庫(kù)連接,將數(shù)據(jù)緩存在DataSet中,并使用DataAdapter對(duì)象來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。通過(guò)配合使用DataSet對(duì)象所提供的接口,使用DataGrid對(duì)象直接的顯示出讀取的數(shù)據(jù)。這種方式代碼量少,但是需要占用額外的內(nèi)存開(kāi)銷(xiāo),讀取的速度相對(duì)也比較慢。無(wú)論采用何種方式,主要的運(yùn)作流程以使用C#語(yǔ)言和SQLServer2005為例:1.首先,利用Connection對(duì)象建立與數(shù)據(jù)庫(kù)之間的連接,用戶(hù)通過(guò)客戶(hù)端向WEB服務(wù)器發(fā)送連接的請(qǐng)求命令。由于Connection對(duì)象依據(jù)不同的管理支持程序分為:SQLConnection和OleDbConnection,這里我們采用SQLConnection建立與數(shù)據(jù)庫(kù)的連接。2.其次,WEB服務(wù)器執(zhí)行客戶(hù)端所發(fā)送來(lái)的請(qǐng)求命令,主要以查詢(xún)語(yǔ)句為例,打開(kāi)連接的對(duì)象。3.接著,我們需要考慮兩種返回值的結(jié)果,一種情況是返回SqlDataReader對(duì)象,另一種情況是返回Dataset對(duì)象,前面我們已經(jīng)講述了這兩種情況的區(qū)別。①返回SqlDataReader對(duì)象SqlDataReader對(duì)象不能通過(guò)new的方式創(chuàng)建,只能通過(guò)使用SqlCommand對(duì)象的ExecuteReader()方法創(chuàng)建。②返回DataSet對(duì)象DataSet對(duì)象的創(chuàng)建需要通過(guò)使用SqlDataAdapter對(duì)象中的fill方法填充后才能夠使用。4.最后,對(duì)返回的結(jié)果進(jìn)行操作。通過(guò)使用DataAadpter對(duì)象為DataSet對(duì)象插入數(shù)據(jù)庫(kù)中的數(shù)據(jù),并返回DataSet給客戶(hù)端應(yīng)用。用戶(hù)可以通過(guò)客戶(hù)端來(lái)瀏覽和修改所返回的數(shù)據(jù)。在數(shù)據(jù)經(jīng)過(guò)相應(yīng)的處理之后,客戶(hù)端將已經(jīng)修改的DataSet傳遞給WEB服務(wù)器,服務(wù)器通過(guò)使用DataAdapter,使DataSet中經(jīng)過(guò)修改后變化的數(shù)據(jù)與數(shù)據(jù)庫(kù)的原始數(shù)據(jù)保持一致。并返回?cái)?shù)據(jù)庫(kù)當(dāng)前的DataSet。具體操作如圖2所示。圖2ADO.NET主要運(yùn)行過(guò)程[參考資料]1.ADO.NETOverview.ADO.NET概觀(guān).2.ADO+.ADO+-.NETtutor
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南省本草種植合同(合同版本)
- 珍愛(ài)生命遠(yuǎn)離毒-品主題班會(huì)教案設(shè)計(jì)七篇
- 科技孵化器培育創(chuàng)新企業(yè)的搖籃
- 2024年含乳飲料項(xiàng)目資金籌措計(jì)劃書(shū)代可行性研究報(bào)告
- 民族復(fù)興之路上的少民族醫(yī)藥物學(xué)振興戰(zhàn)略
- 2025年蘇人新版選修6歷史上冊(cè)月考試卷含答案
- 2025年浙教新版九年級(jí)語(yǔ)文下冊(cè)月考試卷
- 2025年新世紀(jì)版七年級(jí)生物上冊(cè)階段測(cè)試試卷含答案
- 2025年湘師大新版九年級(jí)英語(yǔ)下冊(cè)階段測(cè)試試卷含答案
- 2025年粵教滬科版八年級(jí)歷史上冊(cè)月考試卷含答案
- 《健康體檢知識(shí)》課件
- 2023年護(hù)理人員分層培訓(xùn)、考核計(jì)劃表
- 生產(chǎn)計(jì)劃主管述職報(bào)告
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 中西方校服文化差異研究
- 《子宮肉瘤》課件
- 《準(zhǔn)媽媽衣食住行》課件
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責(zé)承諾書(shū)范本
- 練字本方格模板
評(píng)論
0/150
提交評(píng)論