0
一个新手需要一些逻辑流程的帮助:什么是最有效的方式来处理这个功能?
我正在使用随Asp.net Ajax工具包一起提供的Auto Complete扩展器控件。这个扩展器连接到一个Web服务,该服务将运行一个函数,在用户每次输入文本框时查询数据库。我们将与之合作的数据库将有成千上万的记录,因此表现就是我所追求的。下面是我在Web服务功能:
Public Function PatronList(ByVal prefixText As String, ByVal count As Integer) As String()
Dim MyPatrons As New List(Of String)
Dim MyConn = System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim sqlPatronList As New SqlDataSource(MyConn, "spBarredList " & prefixText)
Dim tblPatronList As System.Data.DataView = sqlPatronList.Select(New DataSourceSelectArguments)
Dim CurPatronRow As Long
Dim MaxPatronRow As Long = tblPatronList.Count
For CurPatronRow = 0 To MaxPatronRow - 1
MyPatrons.Add(tblPatronList.Item(CurPatronRow).Item("FullName"))
Next
Return MyPatrons.ToArray
End Function
“spBarredList”是一个存储过程,确实在3列的LIKE语句时,3个字符传递因此,这里是我的问题:
难道是这样做更有效率,或者只是将所有记录选入数据集,将它们添加到数组中,然后搜索数组?每次这个函数运行时,一个数据源和列表的新实例会被创建,这是不是很糟糕?
在此先感谢。