0

以下のコードは、ユーザーが特定のレコードで検索するか、キーワード検索を実行できるようにすることを想定しています。

つまり、ユーザーが検索ボタンを押すだけで、データが画面に表示されます。

問題は、検索ボタンを押し続けると、同じレコードまたは複数のレコードが重複し続けることです。

何か案は?

コードをご覧ください。ご協力いただきありがとうございます。

Protected Sub bnt_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bnt.Click

    Dim txtSearch As String

    'OR Perhaps pamametized query will be better
    txtSearch = searchBox.Text.Trim()

    Dim strSQL As String = ("SELECT fieldname FROM mytable WHERE keycode like '%' + @txtSearch + '%'")
    Dim connStr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Dim conn As New SqlConnection(connStr)
    Dim cmd As New SqlCommand(strSQL, conn)
    Dim objReader As SqlDataReader
    cmd.Parameters.AddWithValue("@txtSearch", strSearch)
    conn.Open()
    objReader = cmd.ExecuteReader()

    DataBind()

    While objReader.Read()
        With objReader
            Dim li As New ListItem(objReader(0).ToString())
            url.Items.Add(li)
        End With
    End While

    conn.Close()

End Sub
4

2 に答える 2

1

Whileループに新しいものを追加する前に、古いものをクリアする必要があります

したがって、whileループの直前にurl.Items.clear();を実行できます。

于 2012-07-30T15:05:13.420 に答える
1

CheckBoxList項目を追加する前にコントロールをクリアしてみてください:

url.Items.Clear()
While objReader.Read()
    With objReader
        Dim li As New ListItem(objReader(0).ToString())
        url.Items.Add(li)
    End With
End While
于 2012-07-30T15:24:16.013 に答える