我已经从我的数据库构建了一个DataTable。然后我循环遍历行并尝试访问字符串,但是该值将作为字符串中的每个字符返回。
For Each theseRows In DisplayForm.MainTab.Rows
If theseRows.Item("Last_Name") = userLast And theseRows.Item("First_Name") = userFirst Then
For Each RGCode As String In theseRows.Item("Trap_Code")
MessageBox.Show(RGCode)
Next
End If
Next
Trap_Code值是两个或三个字母的字符串,返回的值是每次一个字母。循环似乎循环遍历字符串的各个字符作为数组,而不是显示整个值,这是我希望的。只是寻求一些帮助和建议。
谢谢你, RL。
答案 0 :(得分:2)
您特别要求循环Trap_Code
:
For Each RGCode As String In theseRows.Item("Trap_Code")
获取单个值(theseRows
只是一行,记住 - 您可能想要更改变量名称)这是一个字符串。然后,您将以唯一的方式迭代字符串 - 作为一系列字符。
鉴于您已经遍历了行,为什么要在If
语句中循环?我怀疑你只是想要:
For Each theseRows In DisplayForm.MainTab.Rows
If theseRows.Item("Last_Name") = userLast And theseRows.Item("First_Name") = userFirst Then
MessageBox.Show(theseRows.Item("Trap_Code"))
End If
Next
或者为一行提供更好的名称(减少缩进以避免滚动):
For Each row In DisplayForm.MainTab.Rows
If row.Item("Last_Name") = userLast And row.Item("First_Name") = userFirst Then
MessageBox.Show(row.Item("Trap_Code"))
End If
Next
答案 1 :(得分:0)
我相信你只需要删除每个循环的内部:
For Each theseRows In DisplayForm.MainTab.Rows
If theseRows.Item("Last_Name") = userLast And theseRows.Item("First_Name") = userFirst Then
MessageBox.Show(theseRows.Item("Trap_Code"))
End If
Next