取回第一个数据表后要从数据源再取回第二个数据表,要修改datasetcommand 对象中selectcommand 属性的commandtext 属性,将commandtext 的内容改成我们要从数据源取回数据的叙述。因为selectcommand 属性本身就是command 对象,所以设定selectcommand
的方式和设定command 对象的方法一样;修改完毕后就可以再利用datasetcommand 对象的filldataset 方法将数据取回。下列范例将myweb 数据库中的members 以及orders 数据表取回:
<%@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")
end sub
</script>
上述程序代码将数据从数据源取回后,填入名为dsdataset 的dataset 物件中。第一个datatable在tables 集合中的index 值为0,而第二个填入的datatable 在tables 集合中的index 值为1。
