如何通过循环数据表上特定列的每一行来检查值?
How to check value from looping every rows with spesific coloumn on datatable?
我想循环我的数据表的每一行,特定列的值是 1,2,3。但是,该值只检查了数字 1。如何检查循环中的每个值?
Dim cmd2 As New SqlCommand("Select * from Compartment where OrderFK='1254'", con)
dr = cmd2.ExecuteReader(CommandBehavior.CloseConnection)
Dim dt As New DataTable()
dt.Load(dr) 'Here from datareader
For Each row As DataRow In dt.Rows
Dim x As Integer = dt.Rows(0)("CNumber").ToString
If x = 2 Then
Loading_No.Value = 2
Else
loading_no.value = "Empty"
End If
Next
谢谢,
要了解您的循环经过了多少行,只需在循环中放入一个计数器即可。我想知道的是这一行:
Dim x As Integer = dt.Rows(0)("CNumber").ToString
你声明 x 是一个整数并给它分配一个字符串?
如果使用 foreach 循环查询检索到的行集,则应使用 foreach 索引器(行)读取 CNumber 列的当前值,而不是立即将检索到的值添加到 TextBox值到 StringBuilder 将当前值附加到先前读取的值。在循环结束时,将所有内容写入 TextBox 值 属性
Dim cmd2 As New SqlCommand("Select * from Compartment where OrderFK='1254'", con)
dr = cmd2.ExecuteReader(CommandBehavior.CloseConnection)
Dim dt As New DataTable()
dt.Load(dr) 'Here from datareader
Dim sb = new StringBuilder()
For Each row As DataRow In dt.Rows
Dim value = row("CNumber").ToString()
if value = "1" OrElse value = "2" OrElse value = "3" Then
sb.Append(row("CNumber").ToString & "," )
End If
Next
If sb.Length = 0 Then
sb.Append("Empty")
Else
' remove the last comma '
sb.Length = sb.Length - 1
End If
loading_no.Value = sb.ToString()
另请注意,您可以删除循环中的 if 测试,修改您的查询以仅检索您感兴趣的记录
Dim cmdText = "Select * from Compartment where OrderFK='1254' " & _
"AND CNumber IN(1,2,3)"
我想循环我的数据表的每一行,特定列的值是 1,2,3。但是,该值只检查了数字 1。如何检查循环中的每个值?
Dim cmd2 As New SqlCommand("Select * from Compartment where OrderFK='1254'", con)
dr = cmd2.ExecuteReader(CommandBehavior.CloseConnection)
Dim dt As New DataTable()
dt.Load(dr) 'Here from datareader
For Each row As DataRow In dt.Rows
Dim x As Integer = dt.Rows(0)("CNumber").ToString
If x = 2 Then
Loading_No.Value = 2
Else
loading_no.value = "Empty"
End If
Next
谢谢,
要了解您的循环经过了多少行,只需在循环中放入一个计数器即可。我想知道的是这一行: Dim x As Integer = dt.Rows(0)("CNumber").ToString 你声明 x 是一个整数并给它分配一个字符串?
如果使用 foreach 循环查询检索到的行集,则应使用 foreach 索引器(行)读取 CNumber 列的当前值,而不是立即将检索到的值添加到 TextBox值到 StringBuilder 将当前值附加到先前读取的值。在循环结束时,将所有内容写入 TextBox 值 属性
Dim cmd2 As New SqlCommand("Select * from Compartment where OrderFK='1254'", con)
dr = cmd2.ExecuteReader(CommandBehavior.CloseConnection)
Dim dt As New DataTable()
dt.Load(dr) 'Here from datareader
Dim sb = new StringBuilder()
For Each row As DataRow In dt.Rows
Dim value = row("CNumber").ToString()
if value = "1" OrElse value = "2" OrElse value = "3" Then
sb.Append(row("CNumber").ToString & "," )
End If
Next
If sb.Length = 0 Then
sb.Append("Empty")
Else
' remove the last comma '
sb.Length = sb.Length - 1
End If
loading_no.Value = sb.ToString()
另请注意,您可以删除循环中的 if 测试,修改您的查询以仅检索您感兴趣的记录
Dim cmdText = "Select * from Compartment where OrderFK='1254' " & _
"AND CNumber IN(1,2,3)"