帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程 >
For Each...In 循环结构
作者:佚名 发布时间:2005-04-02 来源:不详
 


    上述范例使用了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:InetPubwwwrootCRCH05MyWeb.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>


  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·JSP由浅入深(10)—— Beans and   (2005-04-02)
 ·JSP避免Form重复提交的三种方案  (2005-04-02)
 ·J2EE 1.5 提供的另一种形式的for  (2005-04-02)
 ·J2EE 1.4 application Server fo  (2005-04-02)
 ·如何实现动态添加Html文档中Form  (2005-03-12)
 ·使用隐藏form把数据从客户端传到  (2005-03-12)
 ·ASP+ FORM handler例子  (2005-03-12)
 ·asp+中文教程(二)-- Asp+ Web   (2005-03-12)
 ·Internet Information Server 错  (2005-03-12)
 ·代码例子 - Ask For Login  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·PHPWind6.3.2版通行证发布
·帝国备份王2008版正式发布
·帝国备份王2008版发布
·phpcms2007转帝国CMS5.0程序发布
·dedecms5.1转帝国CMS5.0程序发布
·帝国网站管理系统V5.0商业购买说明
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统