本篇內(nèi)容主要講解“ADO Dataset的結(jié)構(gòu)是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“ADO Dataset的結(jié)構(gòu)是什么”吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供中寧企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5建站、小程序制作等業(yè)務(wù)。10年已為中寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
可以使用少數(shù)代碼行,讓ADO.NET自動(dòng)檢查結(jié)果的結(jié)構(gòu);也可以使用較多代碼,其中包含了有關(guān)查詢結(jié)果結(jié)構(gòu)的元數(shù)據(jù)。
那么為什么要選擇需要編寫較多代碼的選項(xiàng)呢?最主要的優(yōu)點(diǎn)就在于其功能性更強(qiáng)、性能更佳。但是代碼較多時(shí)又怎么會(huì)使應(yīng)用程序的運(yùn)行速度更快呢?這似乎有悖于人們的直覺感受,不是嗎?
除非您正編寫一個(gè)專用查詢工具,否則您通常事先就知道查詢結(jié)果的結(jié)構(gòu)形式。例如,大多數(shù)ADO DataSet的結(jié)構(gòu)形式都與下例相似。Dim rs as Recordset'在此處聲明其他變量…初始化變量并與數(shù)據(jù)庫建立連接:
rs.Open strSQL, cnDatabase, adOpenStatic, adLockOptimistic, adCmdText Do While Not rs.EOF List1.AddItem rs.Fields("UserName").Value rs.MoveNext Loop
在此代碼段中,編程人員知道該查詢包含一個(gè)名為UserName的列。關(guān)鍵就在于一個(gè)開發(fā)人員通常都知道查詢會(huì)返回哪些列,以及這些列使用何種數(shù)據(jù)類型。但是ADO并不能事先了解查詢結(jié)果的形式。結(jié)果,ADO必須對(duì)OLE DB提供程序進(jìn)行查詢,提出諸如“查詢的結(jié)果中有多少列?
”,“這些列中每一列的數(shù)據(jù)類型是什么?”,“這些數(shù)據(jù)來自何方?”和“該查詢中所引用的每個(gè)表的主鍵字段是什么?”等問題。OLE DB提供程序可以回答這些問題中的一部分,但是很多時(shí)候它都必須回調(diào)數(shù)據(jù)庫。
為獲取查詢結(jié)果,并且將該數(shù)據(jù)存儲(chǔ)在DataSet對(duì)象中,ADO DataSet的結(jié)構(gòu)需要知道此類問題的答案。您可以自己提供這些信息,也可以強(qiáng)制ADO.NET從提供程序獲取信息。當(dāng)選擇自己提供信息時(shí),代碼的運(yùn)行速度就能加快,這是因?yàn)椋号c通過代碼提供元數(shù)據(jù)相比,在運(yùn)行時(shí)向提供程序詢問此信息會(huì)使性能大幅降低。
盡管通過編寫代碼來準(zhǔn)備ADO DataSet的結(jié)構(gòu)可以提高應(yīng)用程序的性能,但編寫代碼可能非常沉悶乏味。幸運(yùn)的是,Visual Studio包含了設(shè)計(jì)時(shí)數(shù)據(jù)訪問特性,這些特性為我們綜合了兩者***秀的性能。
例如,您可以創(chuàng)建一個(gè)基于查詢、表名稱或存儲(chǔ)過程的DataSet對(duì)象,然后配置向?qū)Ь蜁?huì)生成ADO.NET代碼,來運(yùn)行此查詢,并支持將更新提交給數(shù)據(jù)庫。在下面的章節(jié)中將會(huì)詳細(xì)討論許多此類Visual Studio特性。
到此,相信大家對(duì)“ADO Dataset的結(jié)構(gòu)是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!