以下代码应允许用户使用特定记录进行搜索或执行关键字搜索。
换句话说,如果用户只是点击搜索按钮,数据就会呈现在屏幕上。
问题在于,如果您继续按下搜索按钮,相同的记录或记录会保持重复。
有什么想法吗?
请参阅代码,非常感谢您的协助。
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
答案 0 :(得分:1)
在While循环中添加新内容之前,您需要清除旧的
所以就在while循环之前你可以url.Items.clear();
答案 1 :(得分: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