首先,我在 VB 2012 工作。
我在搜索我的数据库时遇到问题。它变得如此缓慢,实际上填充ListView
是困扰我的。
我有一个带有 TextChange 事件的文本框。它的即时搜索。因此,当我开始在该文本框中写入内容时,它开始过滤数据库并将数据填充到ListView
.
这是代码text box
和Load
过程
Private Sub txtID_TextChanged(sender As Object, e As EventArgs) Handles txtID.TextChanged
Load("SELECT * FROM table WHERE id LIKE '" & txtID.Text & "%'")
End Sub
Private Sub Load(ByVal strQ As String)
List.Items.Clear()
cmd = New SqlClient.SqlCommand(strQ, con)
dr = cmd.ExecuteReader()
If dr.HasRows = True Then
While dr.Read
Dim X As ListViewItem
X = List.Items.Add(dr(0))
X.SubItems.Add(dr(2))
X.SubItems.Add(dr(3))
X.SubItems.Add(dr(4))
X.SubItems.Add(dr(1))
X.SubItems.Add(dr(5))
End While
End If
End Sub
因此,每次我击中一个字母时,它都会调用加载过程。
而且我有这么多数据,而且速度很慢。你能以某种方式帮助我吗?有什么解决办法吗?