动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   .Net → 阅读文章

 For Each...In 循环结构

作者来源: 
阅读 2081 人次 , 2006-3-29 4:28:00 


上述范例使用了for each...in 的循环结构,如下所示:

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

在执行for each...in 循环结构时,会将in 后面的集合对象中第一个对象的内存地址从内存取出,并由for each 后面的变量接收;遇到next 叙述时则取出下一个在集合对象中的项目,并将内存地址给for each 后面的变量接收,直到集合对象中的所有对象全部被取出完毕为止。利用foreach...in 这种循环结构的好处是可以让我们以单一的变量名称,就可以参考到所有在集合中的对象。下列插图中假设有一个colletions 集合,并群组了三个对象;所以我们可以使用foreach...in 的循环结构将集合对象中,每一个项目的内存地址一一取出,并存入obja 对象型态的变量中来控制这些对象:


故上述程序执行时将dsdataset.tables("members").rows(shti).getchildrows("mo") 集合中的第一个子关联的记录取回,并放入rowtemp 这个存放datarow 型态的对象变量中,所以我们就可以利用rowtemp 这个变量来控制集合中的第一个对象;遇到next 叙述后再取出集合中的下一个对象的内存地址,直到集合中的项目被取完为止。

利用关联将父关联记录取出
下列范例利用datarow 对象的getparentrow 方法取得orders 订单记录的父关联记录,并指定所要取出的字段为userid:

<%@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 rowtemp as datarow
for each rowtemp in dsdataset.tables("orders").rows
response.write("订单: 订单日期: " & rowtemp("orderdate") & _
" / 订购产品: " & rowtemp("productname") & _
" / 产品单价: " & rowtemp("unitprice") & _
" / 订购数量: " & rowtemp("quantity") & _
" / 小计: " & rowtemp("total") & "<br>" & _
"下单使用者: " & rowtemp.getparentrow("mo")("userid") & "<p>")
next
end sub
</script>

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:DataView 物件
· 下一篇:利用关联将子关联记录取出
· .NET体系中的源程序安全问题(1)
· 查看服务器磁盘、文件的aspx
· asp.net StreamReader 创建文件
· Project级别的权限控制
· asp.NET特写


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077