簡體   English   中英

如何顯示基於SQL結果的選擇選項-VB.net

[英]How to display a select option based on SQL result - VB.net

我這里有一些示例數據... 要查詢的示例數據

SQL如下所示;

 "Select Person, Travel, WithWho FROM database
       where (Person like '" & txtSearch.Text & "' 
       or Travel like '" & txtSearch.Text & "'
       or WithWho like '" & txtSearch.Text & "')"

我在一個很好的列表框中顯示了旅行方式。 我在文本框中顯示WithWho字段,這就是問題所在。 它使用數據庫中的第一條記錄SARAH填充文本框 ,而忽略JOANNE 這是在WPF應用程序中。 我想知道是否有人知道如何提供一個選項來選擇要加載的記錄,甚至搜索表單上的記錄。

謝謝你的幫助

在文本框中顯示WithWho的示例代碼

您發布的代碼將僅在TextBox中顯示一個名稱,因為它會重置Text屬性的整個值,而不是串聯其他名稱。 您可以使用以下方法解決此問題:

txtPname.Text = ""
While reader.Read()
    countvalues += 1
    If reader("WithWho") Is DBNull.Value Then
        txtPname.Text &= Environment.NewLine & "Unknown"
    Else
        txtPname.Text &= Environment.NewLine & reader("WithWho")
    End If
End While

這些結果仍然不是我想的那樣,但是如果您在TextBox路線上進行設置,那將是一個開始。 但是,從您的評論中,我相信您真正想要的是一個ListBox,其填充方式如下:

lstPname.Items.Clear()
While reader.Read()
    Dim pName As String
    If reader("WithWho") Is DBNull.Value Then
        pName = "Unknown"
    Else
        pName = reader("WithWho")
    End If
    If Not lstPname.Items.Contains(pName) Then
        lstPname.Items.Add(pName)
    End If
End While

這將為用戶提供一個框,其中每個名稱(包括“未知”,如果適用)將僅出現一次。 與TextBox不同,他們可以單擊名稱,其行將立即突出顯示。 然后,您可以對其他控件進行編碼,以響應lstPname.SelectedIndexChanged事件,以確定選擇了哪個人並顯示適當的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM