這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)ADO.NET中DataRelation如何使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、做網(wǎng)站、電商網(wǎng)站制作開(kāi)發(fā)、重慶小程序開(kāi)發(fā)公司、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開(kāi)發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
ADO.NET DataRelation的一項(xiàng)主要功能就是在DataSet中從一個(gè)DataTable瀏覽到另一個(gè)。它使您能夠在給定相關(guān)DataTable中的單個(gè)DataRow的情況下檢索一個(gè)DataTable中的所有相關(guān)DataRow對(duì)象。例如,當(dāng)建立客戶表和訂單表之間的ADO.NET DataRelation后,可以使用檢索特定客戶行的所有訂單行。
以下代碼示例創(chuàng)建DataSet的Customers表和Orders表之間的DataRelation,并返回每個(gè)客戶的所有訂單。
DimcustomerOrdersRelationAsDataRelation=_ customerOrders.Relations.Add("CustOrders",_ customerOrders.Tables("Customers").Columns("CustomerID"),_ customerOrders.Tables("Orders").Columns("CustomerID")) DimcustRow,orderRowAsDataRow ForEachcustRowIncustomerOrders.Tables("Customers").Rows Console.WriteLine("CustomerID:"&custRow("CustomerID").ToString()) ForEachorderRowIncustRow.GetChildRows(customerOrdersRelation) Console.WriteLine(orderRow("OrderID").ToString()) Next Next
下一示例以上例為基礎(chǔ),將四個(gè)表關(guān)聯(lián)在一起,并瀏覽這些關(guān)系。如上例所示,CustomerID使Customers表與Orders表相關(guān)聯(lián)。對(duì)于Customers表中的每個(gè)客戶,將確定Orders表中的所有子行,以返回特定客戶的訂單數(shù)以及他們的OrderID值。
巧學(xué)ADO.NET DataAdapter參數(shù)使用
利用ADO.NET RowUpdated添加刪除事件處理
ADO.NET修改數(shù)據(jù)巧妙運(yùn)用存儲(chǔ)過(guò)程實(shí)現(xiàn)
剖析ADO.NET連接池優(yōu)缺點(diǎn)
剖析ADO.NET數(shù)據(jù)服務(wù)框架
該擴(kuò)展示例還將返回OrderDetails表和Products表中的值。Orders表使用OrderID與OrderDetails表相關(guān)聯(lián),以確定在每一客戶訂單中訂購(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ò)展示例生成以下格式的輸出。
上述就是小編為大家分享的ADO.NET中DataRelation如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。