|
关联建立之后,我们就可以享受到关联的好处了。我们可以透过DataRow 对象的GetChildRows以及GetParentRow 方法取得记录的子记录或是父记录;这个方法接收的一个参数,就是我们加到关联集合的关联名称。下列范例将每一个使用者所下过的订单列出:
<%@Import Namespace=System.Data.ADO%> <%@Import Namespace=System.Data%> <Script Language="VB" Runat="Server"> Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") dscA.SelectCommand.CommandText = "Select * from Orders" dscA.FillDataSet(dsDataSet, "Orders") dsDataSet.Relations.Add("MO", dsDataSet.Tables(0).Columns("UserId"), _ dsDataSet.Tables(1).Columns("UserId")) Dim shtI As Short Dim rowTemp As DataRow For shtI=0 To dsDataSet.Tables("Members").Rows.Count-1 Response.Write("使用者: " & dsDataSet.Tables("Members").Rows(shtI)("UserId") & _ " 所下过的订单有:") For Each rowTemp In dsDataSet.Tables("Members").Rows(shtI).GetChildRows("MO") Response.Write("<br>订单日期: " & rowTemp("OrderDate") & _ " / 订购产品: " & rowTemp("ProductNAme") & _ " / 产品单价: " & rowTemp("UnitPrice") & _ " / 订购数量: " & rowTemp("Quantity") & _ " / 小计: " & rowTemp("Total")) Next Response.Write("<p>") Next End Sub </SCRIPT>  |