自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

代碼示例ADO.NET DataRelation使用

開(kāi)發(fā) 后端
文章這里實(shí)例創(chuàng)建DataSet的Customers表和Orders表之間的ADO.NET DataRelation,并返回每個(gè)客戶(hù)的所有訂單,希望對(duì)大家有幫助。

ADO.NET還是比較常用的,于是我研究了一下ADO.NET DataRelation的使用,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。ADO.NET DataRelation的一項(xiàng)主要功能就是在DataSet中從一個(gè)DataTable瀏覽到另一個(gè)。它使您能夠在給定相關(guān)DataTable中的單個(gè)DataRow的情況下檢索一個(gè)DataTable中的所有相關(guān)DataRow對(duì)象。例如,當(dāng)建立客戶(hù)表和訂單表之間的ADO.NET DataRelation后,可以使用檢索特定客戶(hù)行的所有訂單行。

以下代碼示例創(chuàng)建DataSet的Customers表和Orders表之間的DataRelation,并返回每個(gè)客戶(hù)的所有訂單。

  1. DimcustomerOrdersRelationAsDataRelation=_ 
  2. customerOrders.Relations.Add("CustOrders",_  
  3. customerOrders.Tables("Customers").Columns("CustomerID"),_  
  4. customerOrders.Tables("Orders").Columns("CustomerID"))  
  5.  
  6. DimcustRow,orderRowAsDataRow  
  7.  
  8. ForEachcustRowIncustomerOrders.Tables("Customers").Rows  
  9. Console.WriteLine("CustomerID:"&custRow("CustomerID").ToString())  
  10.  
  11. ForEachorderRowIncustRow.GetChildRows(customerOrdersRelation)  
  12. Console.WriteLine(orderRow("OrderID").ToString())  
  13. Next  
  14. Next  

下一示例以上例為基礎(chǔ),將四個(gè)表關(guān)聯(lián)在一起,并瀏覽這些關(guān)系。如上例所示,CustomerID使Customers表與Orders表相關(guān)聯(lián)。對(duì)于Customers表中的每個(gè)客戶(hù),將確定Orders表中的所有子行,以返回特定客戶(hù)的訂單數(shù)以及他們的OrderID值。

#T#該擴(kuò)展示例還將返回OrderDetails表和Products表中的值。Orders表使用OrderID與OrderDetails表相關(guān)聯(lián),以確定在每一客戶(hù)訂單中訂購(gòu)的產(chǎn)品及數(shù)量。由于OrderDetails表只包含已訂購(gòu)產(chǎn)品的ProductID,OrderDetails將使用ProductID與Products相關(guān)聯(lián),以返回ProductName。在這一關(guān)系中,Products表為父表,而OrderDetails表為子表。因此,當(dāng)循環(huán)訪問(wèn)OrderDetails表時(shí),將調(diào)用GetParentRow來(lái)檢索相關(guān)的ProductName值。

請(qǐng)注意,當(dāng)為Customers表和Orders表創(chuàng)建ADO.NET DataRelation時(shí),沒(méi)有為createConstraints標(biāo)志指定任何值(默認(rèn)為true)。它假定Orders表中的所有行都具有一個(gè)存在于父Customers表中的CustomerID值。如果CustomerID存在于Customers表之外的Orders表中,則ForeignKeyConstraint將引發(fā)異常。

如果子列可能包含父列不包含的值,添加DataRelation時(shí)請(qǐng)將createConstraints標(biāo)志設(shè)置為false。在該示例中,對(duì)于Orders表和OrderDetails表之間的DataRelation,createConstraints標(biāo)志將設(shè)置為false。這樣,應(yīng)用程序就可以返回OrderDetails表中的所有記錄并只返回Orders表中記錄的子集,而不會(huì)生成運(yùn)行時(shí)異常。該擴(kuò)展示例生成以下格式的輸出。

責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-13 14:38:45

ADO.NET Dat

2009-11-12 13:53:27

ADO.NET Sel

2009-11-04 09:02:34

ADO.NET _C

2009-12-28 15:11:36

ADO.NET專(zhuān)家

2009-11-12 13:26:56

使用ADO.NET參數(shù)

2009-12-21 14:50:47

ADO.NET優(yōu)化

2009-12-22 16:35:11

ADO.NET控件

2009-12-22 15:20:25

ADO.NET功能

2009-11-04 09:18:12

ADO.NET _Re

2009-11-04 10:07:52

ADO.NET DbP

2009-10-29 10:34:31

ADO.NET使用技巧

2009-11-12 10:15:37

ADO.NET使用

2009-08-21 16:35:08

使用C#結(jié)合ADO.N

2009-12-29 10:36:24

ADO.NET 工具

2009-12-21 16:53:06

ADO.NET使用說(shuō)明

2009-12-31 13:50:46

ADO.NET模型

2009-11-13 10:10:07

2009-12-25 10:25:59

2009-11-12 10:06:01

ADO.NET讀取數(shù)據(jù)

2009-12-22 09:36:29

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

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