要在标签VB.net中显示的数据库查询结果
问题描述:
我有一个标签,我想在其中显示我的数据库查询结果。但标签只显示第一行不是所有的记录。任何人都可以帮助我吗?尝试搜索,但我发现其他答案混淆。请帮帮我。要在标签VB.net中显示的数据库查询结果
这是我到目前为止。
前端
<asp:Label ID="Resulttext" runat="server" Text=""></asp:Label>
后端
Protected Sub getUser()
Dim dt As New DataTable()
Dim conn As SqlConnection = New SqlConnection("myconnectionhere")
conn.Open()
Dim cmd As SqlCommand = New SqlCommand("mysqlhere", conn)
Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
Resulttext.Text = dt.Rows(0)("Fullname").ToString
End If
conn.Close()
End Sub
我做错了什么?谢谢。
答
已经解决的问题,这里是回答。
If dt.Rows.Count > 0 Then
For i As Integer = 0 To dt.Rows.Count - 1
Resulttext.Text = dt.Rows(i)("Fullname").ToString & " " & Resulttext.Text
Next
End If
答
Resulttext.Text = dt.Rows(0)("Fullname").ToString
您正在为Lable中的显示记录编写代码。上面的代码
含义是dt.Rows(RowIndex)(ColumnIndex/"Column valuse")
你在的rowIndex通过0意味着它可以让你第一行和列值传递的“全名”,所以它给人第一行的全称值。
这就是为什么它只显示一条记录。
要显示FullName的所有值,您必须更改您的查询,如下所示。
select distinct t1.id,
STUFF(
(SELECT ', ' + FullName
FROM yourtable t2
where t1.id = t2.id
FOR XML PATH (''))
, 1, 1, '') AS fullname
from yourtable t1;
因此它给全名作为逗号分隔,然后你可以编写代码
Resulttext.Text = dt.Rows(0)("Fullname").ToString
,它给CSV
为fullname
,并显示在标签
没有我的查询是正确的。我问的是在标签中它只显示一个必须是多个的记录。我试图在SQL中运行我的查询,查询结果是2全名前。乔纳娜和里卡的标签只显示琼娜不是这两个记录。这是我关心的地方。谢谢。 –
请增加标签宽度,可能是标签宽度的问题。 –