2016-07-22 182 views
0

我有一個標籤,我想在其中顯示我的數據庫查詢結果。但標籤只顯示第一行不是所有的記錄。任何人都可以幫助我嗎?嘗試搜索,但我發現其他答案混淆。請幫幫我。要在標籤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 

我做錯了什麼?謝謝。

回答

0

已經解決的問題,這裏是回答。

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 
0
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 

,它給CSVfullname,並顯示在標籤

+0

沒有我的查詢是正確的。我問的是在標籤中它只顯示一個必須是多個的記錄。我試圖在SQL中運行我的查詢,查詢結果是2全名前。喬納娜和裏卡的標籤只顯示瓊娜不是這兩個記錄。這是我關心的地方。謝謝。 –

+0

請增加標籤寬度,可能是標籤寬度的問題。 –

相關問題