Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从循环vb.net获取填充数据_Vb.net - Fatal编程技术网

从循环vb.net获取填充数据

从循环vb.net获取填充数据,vb.net,Vb.net,例如,我从循环111222333中获得3个数据 然后我想返回如下值: ‘111’、‘222’、‘333’ 那么,如何使用子字符串(')和(,)组合并完成我的循环呢 因为我执行了一个条件为的查询,其中在('111','222','333')中 这是我在vb.net中的代码: For Each grv As GridViewRow In gridDisplayGRN.Rows Dim chk As CheckBox = CType(grv.FindControl("ChkSelect"),

例如,我从循环111222333中获得3个数据 然后我想返回如下值:

‘111’、‘222’、‘333’

那么,如何使用
子字符串(')
(,)
组合并完成我的循环呢

因为我执行了一个条件为
的查询,其中在('111','222','333')

这是我在vb.net中的代码:

For Each grv As GridViewRow In gridDisplayGRN.Rows
    Dim chk As CheckBox = CType(grv.FindControl("ChkSelect"), CheckBox)
    If chk.Checked = True Then
        Dim p As New PengirimanDetail
        p.KodePenerimaan = grv.Cells(2).Text.Trim()
        Dim parm = p.KodePenerimaan  => first looping get 111 and next looping 222 333
        Dim data = "'" + parm + "'"  => '111'
        Dim return = '111','222','333' ???
    End If
Next

请给我真实的代码,谢谢…

有几种方法可以解决这个问题,我将向您展示其中一种

  • 您必须声明一个变量以将结果字符串存储在循环之外。否则,您将在列表中的每个步骤中覆盖它
  • 在循环内,通过String.Concat收集1.中创建的变量中的所有KodePeneriman字符串
  • 循环完成后,通过String.Join将所有收集的字符串转换为所需格式

    Dim parms as new List(Of String) 'collection for KodePenerimaans
    For Each grv As GridViewRow In gridDisplayGRN.Rows
        Dim chk As CheckBox = CType(grv.FindControl("ChkSelect"), CheckBox)
        If chk.Checked = True Then
           Dim p As New PengirimanDetail
           p.KodePenerimaan = grv.Cells(2).Text.Trim()
           parms.Add(String.Concat("'", p.KodePenerimaan, "'")) 'Add current KodePenerimaan to list
        End If
    Next
    Dim result as String = String.Empty
    If parms.Count > 0 Then
       result = String.Join(",", parms) 'Join to "'111','222','333'"
    End If
    return result
    

  • 什么是原始数据?可以使用Rawdata.Split(“”)吗?秒-在sql查询中硬编码参数-是一种不好的做法-即使是数字。如果这些数字太多,请使用SQL参数或使用表类型的SQL参数真代码<代码>尺寸返回=?!你已经成为SO会员超过一年了?!我说不出话来。