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

作者對于ADO類理解與看法

開發(fā) 后端
下面進行著重介紹有關ADO類該擴展示例還將返回 OrderDetails 表和 Products 表中的值。ADO類表使用 OrderID 與 OrderDetails 表相關聯(lián),

下面介紹ADO類的四種有關介紹和方法,將四個表關聯(lián)在一起,并瀏覽這些關系。 如上例所示,CustomerID 使 Customers 表與 Orders 表相關聯(lián)。 對于 Customers 表中的每個客戶。

以返回特定客戶的訂單數(shù)以及他們的 由于 OrderDetails 表只包含已訂購產(chǎn)品的 ProductID,OrderDetails 將使用 ProductID 與 Products 相關聯(lián),以返回 ProductName。 在這一關系中,Products 表為父表,而 Order Details 表為子表。 因此,當循環(huán)訪問 OrderDetails 表時,將調用 GetParentRow 來檢索相關的 ProductName 值。請注意,當為 Customers 表和 Orders 表創(chuàng)建 DataRelation 時,ADO類沒有為 createConstraints 標志指定任何值(默認為 true)。

它假定 Orders 表中的所有行都具有一個存在于父 Customers 表中的 CustomerID 值。 如果 CustomerID 存在于 Customers 表之外的 Orders 表中,則 ForeignKeyConstraint 將引發(fā)異常。如果子列可能包含父列不包含的值,添加 DataRelation 時請將 createConstraints 標志設置為 false。 在該示例中,ADO類對于 Orders 表和 OrderDetails 表之間的 DataRelation,createConstraints 標志將設置為 false。 這樣,應用程序就可以返回 OrderDetails 表中的所有記錄并只返回 Orders 表中記錄的子集,而不會生成運行時異常。 該擴展示例生成以下格式的輸出。

  1. DataRelationcustomerOrdersRelation=  
  2. customerOrders.Relations.Add("CustOrders",  
  3. customerOrders.Tables["Customers"].Columns["CustomerID"],  
  4. customerOrders.Tables["Orders"].Columns["CustomerID"]);  
  5.  
  6. DataRelationorderDetailRelation=  
  7. customerOrders.Relations.Add("OrderDetail",  
  8. customerOrders.Tables["Orders"].Columns["OrderID"],  
  9. customerOrders.Tables["OrderDetails"].Columns["OrderID"],false);  
  10.  
  11. DataRelationorderProductRelation=  
  12. customerOrders.Relations.Add("OrderProducts",  
  13. customerOrders.Tables["Products"].Columns["ProductID"],  
  14. customerOrders.Tables["OrderDetails"].Columns["ProductID"]);  
  15.  
  16. foreach(DataRowcustRowincustomerOrders.Tables["Customers"].Rows)  
  17. {  
  18. Console.WriteLine("CustomerID:"+custRow["CustomerID"]);  
  19.  
  20. foreach(DataRoworderRowincustRow.GetChildRows(customerOrdersRelation))  
  21. {  
  22. Console.WriteLine("OrderID:"+orderRow["OrderID"]);  
  23. Console.WriteLine("\tOrderDate:"+orderRow["OrderDate"]);  
  24.  
  25. foreach(DataRowdetailRowinorderRow.GetChildRows(orderDetailRelation))  
  26. {  
  27. Console.WriteLine("\tProduct:"+  
  28. detailRow.GetParentRow(orderProductRelation)["ProductName"]);  
  29. Console.WriteLine("\tQuantity:"+detailRow["Quantity"]);  
  30. }  

以上代碼示例是一個擴展示例,ADO類在該示例中將返回 OrderDetails 表和 Products 表中的值,并只返回 Orders 表中記錄的子集。

責任編輯:chenqingxiang 來源: JavaEye博客
相關推薦

2009-11-25 13:35:05

VS2003使用

2009-11-30 10:34:28

VS2003編譯

2009-11-26 08:57:01

VS2003發(fā)布

2009-12-23 09:32:26

ADO.NET數(shù)據(jù)對象

2009-12-18 17:25:21

ADO.NET類庫

2009-12-24 15:42:01

ADO類庫

2009-12-22 14:05:33

ADO.NET代碼

2009-12-01 18:50:57

Visual Stud

2009-07-02 09:25:15

選擇Hibernate

2009-12-25 14:34:59

ADO幫助文檔

2009-11-26 11:05:59

VS2003控件

2015-07-02 13:26:35

分布式存儲云存儲云平臺

2009-12-25 17:32:16

ADO Data 控件

2009-12-24 15:51:34

ADO屬性

2009-12-22 15:08:46

ADO控件

2009-12-21 16:53:06

ADO.NET使用說明

2009-12-28 13:32:19

ADO 添加記錄

2009-12-25 15:38:12

ADO連接池

2009-12-23 17:54:01

ADO.NET 2.0

2009-12-23 16:43:34

ADO.NET模型
點贊
收藏

51CTO技術棧公眾號