不是特定于代码的问题,而是设计搜索功能的方法。
我有一个搜索字段,根据搜索框中的内容改变SQL查询。默认情况下,查询为SELECT * FROM my_table WHERE id = '(content of search box)'
。这会发送到DataTable
,并以DataGridView
。
搜索更新目前由Button.Click
处理程序触发,但如何使用mySearchField.TextChanged
呢?这将对数据库运行新的SQL查询,而不是每当搜索字段中的内容时返回新的DataTable
。
这会不必要地影响数据库吗?
答案 0 :(得分:0)
一切都取决于表中的行数以及将使用应用程序站点的用户数。如果行数不多,您可以加载DataTable中的所有数据并使用RowFilter属性进行搜索。这样可以避免过度使用数据库。 另一种选择是建立在数据库中搜索的最少字符,从而减少对数据库的查询次数。