对于每个下一个循环,仅返回第一行数据 [英] For Each Next loop only returning first row data
本文介绍了对于每个下一个循环,仅返回第一行数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试用代码生成器(PDSA)创建的动态SQL数据集中的数据填充数据集.如果我想要第一行数据,或者我使用特定的"Where"子句来检索第一行,则没有问题.但是,当我遍历具有四个条目的数据集时,我没有得到这四个条目,而是得到了第一行4次.知道为什么吗?
代码示例:
I am trying to populate a dataset with data from a dynamic SQL dataset created by a code generator (PDSA). If I want the first row of data, or I use a specific "Where" clause to retrieve 1 row, I have no problem. But, when I loop through the dataset that has four entries, instead of getting the four entries, I get the first row 4 times. Any idea why?
Code Example:
Dim DS_C as New DS
Dim dr_A As DS_C.Tbl_ARow
Me.DS_C.Tbl_A.Clear()
Dim bo As PDSA.DataLayer.tbl_BDC = New PDSA.BusinessLayer.tbl_B
With bo
.ConnectionString = AppConfig.SQLConnectString
.SelectFilter = PDSA.DataLayer.tbl_BDC.SelectFilters.All
.WhereFilter = tbl_BDC.WhereFilters.None
.Load()
End With
For Each dr As DataRow In bo.DataSet.Tables(0).Rows
dr_A = DS_C.Tbl_A.NewRow
With dr_A
.CustomerID = bo.CustomerID
.FirstName = bo.FirstName
.LastName = bo.LastName
.Street = bo.Street
.City = bo.City
.State = bo.State
.ZipCode = bo.ZipCode
End With
DS_C.Tbl_A.AddTbl_ARow(dr_A)
Next
推荐答案
.FirstName = bo.FirstName
.LastName = bo.LastName
.Street = bo.Street
.City = bo.City
.State = bo.State
.ZipCode = bo.ZipCode
此处不使用dr
而不是使用bo
?
Instead of using bo
here, should it not be using dr
?
使用:
Using:
.CustomerID = dr("CustomerID")
.FirstName = dr("FirstName")
.LastName = dr("LastName")
.Street = dr("Street")
.City = dr("City")
.State = dr("State")
.ZipCode = dr("ZipCode")
而不是.CustomerID = bo.CustomerID等.
做到了!
instead of .CustomerID = bo.CustomerID etc.
did the trick!
这篇关于对于每个下一个循环,仅返回第一行数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文