使用vb.net

时间:2015-08-14 07:01:28

标签: asp.net vb.net

我是asp.net的新手 有什么办法可以在一行中显示不同的数据,从另一个表的同一列中提取数据? 列名为hello,包含3种类型的数据 我要说我的代码是这样的:

    cmd1.CommandText = " SELECT hello FROM link where mode=@model and procedure =@procedure "
    cmd1.CommandType = System.Data.CommandType.Text
    Dim da1 As New SqlDataAdapter()
    da1.SelectCommand = cmd1
    Dim dt1 As New DataTable()
    da1.Fill(dt1)
    Dim myDataReader1 As SqlDataReader
    myDataReader1 = cmd1.ExecuteReader()
    Dim hello As String
    If myDataReader1.HasRows Then

        Do While myDataReader1.Read()
            hello= myDataReader1("hello").ToString()

        Loop
        lblhello.Text = hello
    Else
        lblhello.Text = ""
    End If


    myDataReader1.Close()  

我的数据输出应该是:

  

日冰,YOYO,heyhey

但我最终得到了

  

heyhey

仅 请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

您正在覆盖new Robot()循环中每次迭代的hello字符串。因此,您只显示该变量中包含的最后一个值。

您需要在每次迭代时连接值。您还需要在每个值之间添加Do while以获得所需的输出。

变化:

,

hello = myDataReader1("hello").ToString()

或......

hello += myDataReader1("hello").ToString() & ","

编辑:由于上述解决方案会在hello = hello & myDataReader1("hello").ToString() & "," 的最后一次添加值末尾添加额外,,因此您需要在显示最终版本之前将其删除字符串。

替换

hello

通过

lblhello.Text = hello