我有两组数据集可以管理存储的data_Before和data_after
我在下面的if语句中尝试做的是检查我的data_after的列是否属于boolean列?如果是,如果有1
,我将不显示数据但是这里存在问题,我不知道为什么只有1个不同时它至少循环20次,它重复多次分化
For nDsAf_Col As Integer = 0 To pDsAf.Tables(nDsB4_Tables).Columns.Count - 1
Dim sChkColName As String = pDsAf.Tables(nDsB4_Tables).Columns(nDsAf_Col).ColumnName
Dim sChkRowData As String = pDsAf.Tables(nDsB4_Tables).Rows(nDsAf_Rows)(sColTableKey).ToString
//问题发生在这里!
If sChkColName Is sColTableKey AndAlso sChkRowData IsNot "1" Then
'13)Loop pDsAf_Columns, return result as null to something
For nTempColAf As Integer = 0 To pDsAf.Tables(nDsB4_Tables).Columns.Count - 1
Dim sCol As String = pDsAf.Tables(nDsB4_Tables).Columns(nTempColAf).ColumnName
Dim sB4 As String = reportNullData
Dim sAf As String = pDsAf.Tables(nDsB4_Tables).Rows(nDsAf_Rows)(nTempColAf).ToString
如果我的data_before与我的data_after不同,请附加字符串
If sB4 <> sAf Then
returnString += sCol + reportColNameSeperator + sB4 + reportDiffSeparator + sAf + reportColSeperator + Environment.NewLine
End If
Next
End If
Next
我的data_B4
UID | USER_ACTION | TableKey
1 | EAT | 0
我的数据
UID | USER_ACTION | TableKey
1 | EAT | 1
2 |播放| 0
示例数据
我的预期结果是表键不是1然后显示行数据
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
但是视觉工作室给我的结果是(重复不知道多少次)
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
UID:NULL&gt; 2
USER_ACTION:NULL&gt;播放
答案 0 :(得分:0)
请检查您是否可以在突出显示的位置给出正确的“表名或表索引”,我认为应该有“pDsAf”中存在的表名,而不是“nDsB4_Tables”
对于nDsAf_Col As Integer = 0 to pDsAf.Tables( nDsB4_Tables )。Columns.Count - 1 Dim sChkColName As String = pDsAf.Tables( nDsB4_Tables )。列(nDsAf_Col).ColumnName Dim sChkRowData As String = pDsAf.Tables( nDsB4_Tables )。行(nDsAf_Rows)(sColTableKey).ToString
答案 1 :(得分:0)
或者你可能在嵌套循环中有错误
对于nTempColAf As Integer = 0 to pDsAf.Tables( nDsB4_Tables )。Columns.Count - 1
你应该尝试做下面的
for r=0 to 1stDS.rowcount
for col=0 to 1stDS.col_Count
//now place you condition here Like
if (1stDS Row Or Column (whatever you want)==2ndDS Row Or Column
{
//you code
}
Next
Next