成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面分析ADO.NET數(shù)據(jù)集類(lèi)型

開(kāi)發(fā) 后端
這里介紹了ADO.NET數(shù)據(jù)集類(lèi)型分為類(lèi)型化數(shù)據(jù)集和非類(lèi)型化數(shù)據(jù)集。文章還總結(jié)了小知識(shí)點(diǎn)關(guān)于typed DataSet和untyped DataSet的總結(jié)。

ADO.NET數(shù)據(jù)集有很多值得學(xué)習(xí)的地方,這里我們主要介紹ADO.NET數(shù)據(jù)集類(lèi)型,包括介紹typed DataSet和untyped DataSet等方面。ADO.NET數(shù)據(jù)集類(lèi)型分為類(lèi)型化數(shù)據(jù)集和非類(lèi)型化數(shù)據(jù)集,關(guān)于對(duì)他們的描述請(qǐng)參見(jiàn)圖所示:

 

ADO.NET數(shù)據(jù)集類(lèi)型圖


使用類(lèi)型化數(shù)據(jù)集訪問(wèn)列,參見(jiàn)如下代碼:

  1. string employeeName;  
  2. employeeName = dsEmployees.Emp[0].EmpName; 

從dsEmployees數(shù)據(jù)集的Emp表中***個(gè)記錄返回EmpName列,然后將其存儲(chǔ)在employeeName字符串變量中。使用非類(lèi)型化數(shù)據(jù)集訪問(wèn)列 ,參見(jiàn)如下代碼:

  1. string employeeName;  
  2. employeeName = dsEmployees.Tables["Emp"].Rows[0]["EmpName"]; 

使用Tables集合返回EmpName列。
 
小知識(shí):

typed DataSet和untyped DataSet

typed DataSet是從DataSet派生的,它根據(jù)事先定義的Data Schema生成數(shù)據(jù)集,對(duì)數(shù)據(jù)集中的字段實(shí)行強(qiáng)類(lèi)型約束。你可以通過(guò)它產(chǎn)生的cs文件看到許多方法對(duì)DataTable的操作進(jìn)行了封裝,這樣你就可以通過(guò)MyDataSet.MyTable.Field對(duì)字段進(jìn)行訪問(wèn),而不是像DataSet那樣:
MyDataSet.Tables["TableName"]["Field"]; 簡(jiǎn)化了編程,同時(shí)不容易出錯(cuò),想象一下如果在"Field"中拼錯(cuò)了字段名,那么編譯器也不會(huì)檢查出來(lái),對(duì)于typed DataSet就不用了,如果你Field寫(xiě)錯(cuò)的話,那么馬上就可以知道。
 
還有就是如果你在Typed DataSet包含多數(shù)據(jù)集,同時(shí)在XSD中對(duì)這些數(shù)據(jù)集建立關(guān)系和約束,那么Type DataSet會(huì)生成相應(yīng)的方法來(lái)反映這些關(guān)系和約束。如果使用untyped DataSet,你需要自己做。 性能上的考慮:雖然Typed DataSet創(chuàng)建對(duì)象實(shí)例的時(shí)候比unTypede DataSet要多一些開(kāi)銷(xiāo)(時(shí)間和空間),但是在填充數(shù)據(jù)的時(shí)候要比untyped DataSet快,這是因?yàn)镈ataAdapter已經(jīng)知道怎么Fill一個(gè)Typed DataSet,相比之下,DataSet需要兩次讀取數(shù)據(jù)庫(kù),***次取得數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)信息,第二次才fill數(shù)據(jù)。

Typed DataSet相對(duì)于DataSet的缺陷:除了創(chuàng)建的開(kāi)銷(xiāo)之外,Typed DataSet不如DataSet靈活,因?yàn)門(mén)yped DataSet一旦確定,數(shù)據(jù)表的結(jié)構(gòu)就固定了,如果需要修改,必須重新生成。而DataSet你可以隨時(shí)根據(jù)需要進(jìn)行操作(比如添加字段,刪除字段等)。

【編輯推薦】

  1. LINQ to SQL查詢分析
  2. LINQ查詢架構(gòu)簡(jiǎn)單介紹
  3. LINQ to SQL映射關(guān)系概述
  4. LINQ To SQL對(duì)象模型淺析
  5. LINQ to SQL映射列描述
責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-13 17:20:35

ADO.NET數(shù)據(jù)集工

2009-11-11 15:09:35

ADO.NET數(shù)據(jù)集

2009-11-12 14:37:26

ADO.NET結(jié)構(gòu)

2009-12-25 16:36:43

ADO.NET數(shù)據(jù)集

2009-12-30 14:59:42

ADO.NET數(shù)據(jù)集

2011-05-20 15:45:52

數(shù)據(jù)集

2009-11-04 17:03:55

ADO.NET Exc

2009-11-13 09:45:54

ADO.NET程序集

2009-12-29 14:41:13

ADO.NET 數(shù)據(jù)集

2009-10-29 10:00:53

ADO.NET數(shù)據(jù)集

2009-11-13 09:53:47

ADO.NET權(quán)限集

2009-12-30 15:06:22

ADO.NET分析

2010-01-04 13:47:18

ADO.NET數(shù)據(jù)集

2009-10-29 10:20:19

ADO.NET使用

2009-11-03 15:47:10

ADO.NET數(shù)據(jù)異步

2009-11-11 09:48:08

ADO.NET Com

2009-10-29 11:08:20

ADO.NET Dat

2009-11-12 13:19:55

2009-12-23 17:50:38

ADO.NET Fra

2009-11-04 11:02:23

ADO.NET Dat
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久99精品国产99久久6男男 | 久久精品欧美一区二区三区不卡 | 成人精品一区二区 | 在线观看中文字幕 | 黄色一级大片视频 | 免费av在线| 日本欧美国产在线 | 国产精品大片 | 精品国产久 | 精品日韩一区二区三区av动图 | 天天干夜夜| 欧美久久久久久 | 欧美激情综合五月色丁香小说 | 91文字幕巨乱亚洲香蕉 | 99精品免费久久久久久久久日本 | 国产成人精品一区二区三区视频 | 久久99精品国产99久久6男男 | 欧美情趣视频 | 国产精品99久久久久久www | 一区二区不卡视频 | 国产精品久久久久久久久久免费看 | 欧美aaa一级片| 久久国产一区 | 久久97精品 | 国产精品免费在线 | 色婷婷在线视频 | 欧美久久久 | 欧美成人二区 | 日韩欧美1区2区 | 久久亚洲国产精品日日av夜夜 | 亚洲一区二区免费视频 | 精品久久国产视频 | 久久99网| 色99视频 | 亚洲国产精品一区二区三区 | 日韩精品成人一区二区三区视频 | 久久久91精品国产一区二区三区 | 成人免费在线视频 | 国产精品一区免费 | 亚洲精品av在线 | 高清亚洲 |