帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > 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编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统