关联建立之后,我们就可以享受到关联的好处了。我们可以透过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>
